FTP如何部署指定用户访问指定目录
1、运行以下命令安装vsftpd:
yum install -y vsftpd

2、运行以下命令打开及查看etc/vsftpd:
cd /etc/vsftpd
ls

3、运行以下命令设置开机自启动:
systemctl enable vsftpd.service
4、运行以下命令启动 FTP 服务:
systemctl start vsftpd.service
5、运行以下命令查看 FTP 服务端口:
netstat -antup | grep ftp
1、运行以下命令关闭SElinux:
setenforce 0
2、为目录制定相应权限,将 vsftpd.conf配置文件中的 local_umask的值改为 000
cd /etc/vsftpd
vim vsftpd.conf
按 i 键进入编辑模式,将local_umask=022改为local_umask=000
按ESC ,冒号加x退出。
3、创建 ceshi1用户并创建ceshi1专有的/var/www目录:
useradd -d /var/www -s /sbin/nologin ceshi1
为ceshi1用户创建密码:
passwd ceshi1
密码暂时设置为123456
4、创建 ceshi2用户并创建ceshi2专有的/var/web目录:
useradd -d /var/web -s /sbin/nologin ceshi2
为ceshi2用户创建密码:
passwd ceshi2
密码暂时设置为123456
5、如果出现文件已经存在的错误: Creating mailbox file: File exists
find / -name "*ceshi1" 找到ceshi1文件,将其删除
cd /var/spool/mail
rm -rf ceshi1
6、如果出现用户已经存在的错误:useradd: user 'ceshi1' already exists
userdel ceshi1
7、如果出现目录已经存在的错误:
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
则将目录删除即可:
cd /var
rm -rf web
1、修改 vsftpd.conf配置文件:
cd /etc/vsftpd
vim vsftpd.conf
2、将anonymous_enable改为NO,阻止匿名上传:

3、将chroot_list_enable和chroot_list_file的注释去掉,阻止用户访问上级目录:

4、在配置文件的最下方添加如下代码:
allow_writeable_chroot=YES #允许用户根目录可写
保存退出
5、创建 chroot_list文件并添加用户:
cd /etc/vsftpd
touch chroot_list
vim chroot_list

6、进入到 www目录,创建index.html文件,且进入到web目录,创建index.php
cd /var/www
touch index.html
cd /var/web
touch index.php
7、重启服务进行测试:
service vsftpd restart
如果上面的命令没有重启成功,可以使用以下命令:
/bin/systemctl restart vsftpd


8、如果登录不上,可以将TLS改为普通

9、并选择“编辑”,“设置”,“被动模式”,改为“退回到主动模式”

10、如果是阿里云服务器的话,可以在安全组的配置规则中添加21端口
