centos7搭建vsftpd,限制用户不能登陆shell,且只能访问特别目录

1 安装shell

sudo yum vsftpd

2 开启且设置开机自启动rest

sudo systemctl start vsftpd
sudo systemctl enable vsftpd

3 添加用户code

sudo useradd ftpuser
sudo passwd ftpuser
#设置ftpuser不能登陆sehll
sudo usermod -s /sbin/nologin ftpuser
#设置ftpuser的home目录,注意将owner,group设置为ftpuser
usermod -d /mnt/ftpuser_home ftpuser

4 配置/etc/vsftpd/vsftpd.confit

#禁止匿名登陆
anonymous_enable=NO
#chroot更改根目录限制目录访问
chroot_list_enable=YES
#设置chroot目录内可写
allow_writeable_chroot=YES
chroot_list_file=/etc/vsftpd/chroot_list

5 配置chroot_list登录

#将ftpuser写入chroot_list,无此文件则建立
echo ftpuser >> /etc/vsftpd/chroot_list

6 重启vsftpdftp

systemctl restart vsftpd

7 其余说明配置

由于这次需求比较简单,提供ftp的一个可上传文件的用户,并限制不能shell登陆,且只能访问特定目录,因此其余配置如user_list, ftpusers的配置并无设置