例:建一个abcftp用户,家目录为/abc/abcftp,使其不能访问到abc,只能在/abc/abcftp目录下互动
创建ftp用户abcftp
groupadd -g 2020 abcftpgp
useradd -u 2021 abcftp -g 2020 -d /abc/abcftp
echo 'abcftp:password01!' | chpasswd
安装ftp软件包
yum install -y vsftpd.x86_64
yum install -y ftp.x86_64
建完abcftp用户且安装好ftp软件后
1)修改passwd禁止bash登录
vim /etc/passwd
abcftp:x:2021:2020::/abc/abcftp:/sbin/nologin
2).进入到/etc/vsftpd
cd /etc/vsftpd
3).新添一个文件chroot_list
vim chroot_list
每一个ftp用户占一行(一开始为空的),此时应添加入abcftp,然后保存退出。
4.1).新添一个文件夹userconfig,在该文件夹下建立ftp用户的配置文件,则此时新建一个文件abcftp
vim abcftp
4.2).加入
local_root=/abc/abcftp
write_enable=yes
4.3).退出保存wq。
5.1)/编辑vsftpd,conf文件,去掉下面两行内容前的注释#
chroot_list_enable=Yes
chroot_list_file=/etc/vsftpd/chroot_list
5.2)禁止匿名登录,修改anonymous_enable为NO
anonymous_enable=NO
5.3).然后在vsftpd,conf文件末尾添加
user_config_dir=/etc/vsftpd/userconfig
allow_writeable_chroot=Yes
5.4).退出保存wq
6).重启vsftp
systemctl restart vsftpd.servicce
systemctl enable vsftpd.service
7).验证
登录ftp用户abcftp
ftp localhost
pwd查看
257"/"
cd /abc 会报错
550 Failed to changed directory
可以在/abc/abcftp下建个文件
cd ..
ls -a
发现切换目录后还在原来的目录abcftp下
完工~