CentOS配置FTP(VSFTPD)

一、vsftp安装篇	
		# 安装vsftpd
		yum -y install vsftpd
		# 启动
		service vsftpd start
		# 开启启动
		chkconfig vsftpd on
		# 如果启动失败那么查看端口占用情况
                netstat -natp |grep 21 
                #显示的是被pure-ftp占用,那么我们先停掉这个
                service pureftpd stop
                service vsftpd start

	二、vsftp相关命令之服务篇	
		# 启动ftp服务
		service vsftpd start
		# 查看ftp服务状态
		service vsftpd status 
		# 重启ftp服务
		service vsftpd restart
		# 关闭ftp服务
		service vsftpd stop
		
	三、vsftp配置篇	
		#进入vsftpd配置文件
		vim /etc/vsftpd/vsftpd.conf 
		# 禁止匿名用户anonymous登录
		anonymous_enable=NO
		# 允许本地用户登录
		local_enable=YES
		# 让登录的用户有写权限(上传,删除)
		write_enable=YES
		# 默认umask
		local_umask=022
		# 把传输记录的日志保存到/var/log/vsftpd.log
		xferlog_enable=YES
		xferlog_file=/var/log/vsftpd.log
		xferlog_std_format=NO
		# 允许ASCII模式上传
		ascii_upload_enable=YES 
		# 允许ASCII模式下载
		ascii_download_enable=YES
		# 使用20号端口传输数据
		connect_from_port_20=YES
		# 欢迎标语
		ftpd_banner=Welcome to use my test ftp server.
		# 接下来的三条配置很重要
		# chroot_local_user设置了YES,那么所有的用户默认将被chroot,
		# 也就用户目录被限制在了自己的home下,无法向上改变目录。
		# chroot_list_enable设置了YES,即让chroot用户列表有效。
		# ★超重要:如果chroot_local_user设置了YES,那么chroot_list_file
		# 设置的文件里,是不被chroot的用户(可以向上改变目录)
		# ★超重要:如果chroot_local_user设置了NO,那么chroot_list_file
		# 设置的文件里,是被chroot的用户(无法向上改变目录)
		chroot_list_enable=YES
		# touch /etc/vsftpd/chroot_list 新建
		chroot_list_file=/etc/vsftpd/chroot_list
		use_localtime=YES
		# 以standalone模式在ipv4上运行
		listen=YES
		# PAM认证服务名,这里默认是vsftpd,在安装vsftpd的时候已经创建了这个pam文件,
		# 在/etc/pam.d/vsftpd,根据这个pam文件里的设置,/etc/vsftpd/ftpusers
		# 文件里的用户将禁止登录ftp服务器,比如root这样敏感的用户,所以你要禁止别的用户
		# 登录的时候,也可以把该用户追加到/etc/vsftpd/ftpusers里。
		pam_service_name=vsftpd
		# 重启 vsftpd
		service vsftpd restart
		
	四、vsftp用户篇	
		# 创建用户
		useradd -d /opt/www -s /sbin/nologin -M aidejin
		# 设置用户到文件夹
		chown -R aidejin /opt/www
		# 设置权限
		chown -R 777 /opt/www
		# 添加密码
		passwd aidejin -> 密码 -> 确认密码
		
	五、FTP连接不上,提示读取目录失败	
		该错误是由iptables的配置引起的,临时的解决方法是执行如下命令:
		modprobe ip_nat_ftp
		
		但当你重新启动服务器则iptables规则失效,又会出现相同的情况,所以我们需要修改/etc/sysconfig/iptables-config文件
		vi /etc/sysconfig/iptables-config
		IPTABLES_MODULES="ip_nat_ftp"
		IPTABLES_MODULES_UNLOAD="yes"
		
	六、VSFTPD不能上传文件	
		查看配置
		sestatus -b|grep ftp
		命令行设定
		setsebool -P ftp_home_dir on
		setsebool -P allow_ftpd_anon_write on
		setsebool -P allow_ftpd_full_access on
		setsebool -P allow_ftpd_use_cifs on
		setsebool -P allow_ftpd_use_nfs on
		service vsftpd restart 

  

原文地址:https://www.cnblogs.com/adtuu/p/5580204.html