Centos 下 vsftpd 的安装配置
----- 获取 vsftpd ---------------------------------------------------------------------------------------------------------------------------------------------------------------------
yum -y install vsftpd
----- 匿名用户的配置 ----------------------------------------------------------------------------------------------------------------------------------------------------------------
不配置任何参数的情况下,FTP可以直接用匿名用户登录,但是只能连接FTP服务器,不能上传和下载,对应目录也可能只是 pub 目录。
FTP 匿名无法登录?
查看防火墙是否开启FTP端口,netstat -tl 可以查看ftp端口是否在侦听了。
是否启动 vsftpd : service vsftpd start
开启匿名FTP服务器上传权限和下载权限
编辑 vsftpd 的配置文件
vi /etc/vsftpd/vsftpd.conf
允许匿名用户登录FTP
anonymous_enable=YES
设置匿名用户的登录目录(如需要,需自己添加并修改)
anon_root=/var/ftp/pub
打开匿名用户的上传权限
anon_upload_enable=YES
打开匿名用户创建目录的权限
anon_mkdir_write_enable=YES
打开匿名用户删除和重命名的权限(如需要,需自己添加)
anon_other_write_enable=YES
匿名用户的掩码(如需要,需自己添加,含义:如umask是022,这时创建一个权限为666的文件,文件的实际权限为666-022=644)
anon_umask=022
ftp目录的权限设置
默认情况下,ftp的根目录为/var/ftp,为了安全,这个目录默认不允许上传文件 因为其木有写入权限。要想上传文件就要改权限:
chmod 757 /var/ftp/pub
登录FTP,目录下的文件不显示?226 Transfer done (but failed to open directory)?
To disable SELinux, 编辑 /etc/selinux/config 设定 "SELINUX=disabled" ,然后重启。稍后就可以重启 FTP 重新连接生效了。
500 OOPS: vsftpd: refusing to run with writable anonymous root 错误?
设置的ftp的根目录没有权限或者设置了 777 的权限给该目录,解决方案:chmod 757 /var/ftp/pub
----- 添加 FTP 用户 ----------------------------------------------------------------------------------------------------------------------------------------------------------------
touch /etc/vsftpd/vsftpd.chroot_list
添加用户
useradd shamrocker -d /home/shamrocker -s /sbin/nologin
设定密码
passwd shamrocker
把用户 shamrocker 加到 /etc/vsftpd/vsftpd.chroot_list 里, 这样用户就可以正常登陆并且不能跳出自己的目录
echo 'shamrocker' >> /etc/vsftpd/vsftpd.chroot_list
完毕