作为程序员一定要保持良好的睡眠,才能好编程

Linux-centOS7.2 如何配置vsftpd服务器?

发布时间:2017-09-02

目前Linux大部分部署的FTP服务器都是vsftpd,至于为什么,暂时没什么必要深究。



这里有一篇文章是详细介绍了vsftp:

https://blog.51cto.com/meiling/2071122


1.安装vsftpd

# yum check-update
# yum -y install vsftpd

2.配置参数

# vi /etc/vsftpd/vsftpd.conf1

修改为如下参数

vim /etc/vsftpd/vsftpd.conf

编辑配置文件如下:

d6.png



vsftpd控制用户禁止访问上级目录 只能访问自己目录


如何只让用户访问自己的家目录,其他目录意外的全部不能访问:

vim  /etc/vsftpd/vsftpd.conf

如果设置为

chroot_local_user=YES

chroot_list_enable=YES (这行可以没有, 也可以有)


chroot_list_file=/etc/vsftpd/chroot_list


那么, 凡是加在文件chroot_list中的用户都是不受限制的用户,即, 可以浏览其主目录的上级目录。



也就是说chroot_list这个文件为空。则所有用户通过FTP登录只可以访问家目录的文件或文件夹。



如果想让ftp用户访问其他目录,则在chroot_list 中添加要访问目录的用户名即可。  一行一个用户名

以上方法必须注意.

 


chroot_list 这个文件保存着登录FTP的用户,只有这里有的名称才有可能会登录。


chroot_list 位于 /etc/vsftpd/ 这个目录下,倘若没有此文件,手动创建一个即可。


这是一个配置的案例:所有用户只可以访问家目录。

vsftpd.txt




请查看chroot_list  这个文件是否存在,如果不存在,请 创建,否则ftp登录得时候,会提示 500 错误

这个文件找不到。

touch chroot_list 创建文件


至于这里写什么用户,请按照上述的说明进行填写。

一行一个用户。




3.重启ftp

# systemctl restart vsftpd.service
# systemctl enable vsftpd.service



4.修改防火墙配置

# firewall-cmd --permanent --add-service=ftp
# firewall-cmd --reload
# setsebool -P ftp_home_dir on




5.为ftp创建一个用户test1(指定目录为/home/www,不允许远程登录shell)

# useradd -d /home/www -m test1 -s /sbin/nologin
# cd /home/www
# chmod -R 777 *

6.为ftp用户设置一个密码

# passwd test