Centos6.5搭建vsftpd,并配置用户和密码登录
Centos6.5搭建vsftpd,并配置用户和密码登录
1)安装vsftpd
yum install vsftpd
2)配置vsftpd配置文件
vi /etc/vsftpd/vsftpd.conf
=》禁止匿名访问
将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”
=》所有的用户均不能通过cd切换到其他目录
chroot_local_user=YES
chroot_list_enable=NO
chroot_list_file=/etc/vsftpd/chroot_list
- 参考:
- chroot_list_enable=YES/NO(NO)
- 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
- chroot_list_file=/etc/vsftpd.chroot_list
- 用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
- chroot_local_user=YES/NO(NO)
- 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
- 通过搭配能实现以下几种效果:
- ①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
- ②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
- ③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
- ④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
3)添加ftp用户
登录Linux主机后,运行命令:”useradd ftpadmin -s /sbin/nologin “。
该账户路径默认指向/home/ftpadmin目录;
如果需要将用户指向其他目录,请运行命令:useradd ftpadmin -s /sbin/nologin –d /opt/test(其他目录)
4)修改ftp用户密码
设置ftpadmin用户密码,运行命令:”passwd ftpadmin”
5)启动vsftpd服务
登录Linux主机后,运行命令:”service vsftpd start”
如果让FTP每次开机自动启动,运行命令: “chkconfig --level 35 vsftpd on”
6)可能遇到的问题
修改chroot_local_user=YES chroot_list_enable=NO之后,连接ftp可能会报错:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
"如果启用chroot,必须保证ftp根目录不可写,这样对于ftp根直接为网站根目录的用户不方便,所以建议将ftp根目录/home/ftpadmin访问权限改写如下
chmod a-w /home/ftpadmin