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