一、安装 vsftpd
1
运行以下命令安装vsftpd:

yum install -y vsftpd

FTP如何部署指定用户访问指定目录
2
运行以下命令打开及查看etc/vsftpd:

cd /etc/vsftpd

ls

FTP如何部署指定用户访问指定目录
3
运行以下命令设置开机自启动:

systemctl enable vsftpd.service

4
运行以下命令启动 FTP 服务:

systemctl start vsftpd.service

5
运行以下命令查看 FTP 服务端口:

netstat -antup | grep ftp

END
二、添加用户并限制目录及指定用户访问指定目录
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

END
三、修改配置文件
修改 vsftpd.conf配置文件:

cd /etc/vsftpd

vim vsftpd.conf
在这里插入图片描述

将anonymous_enable改为NO,阻止匿名上传:

FTP如何部署指定用户访问指定目录
将chroot_list_enable和chroot_list_file的注释去掉,阻止用户访问上级目录:

在这里插入图片描述

在配置文件的最下方添加如下代码:

allow_writeable_chroot=YES #允许用户根目录可写

保存退出

创建 chroot_list文件并添加用户:

cd /etc/vsftpd

touch chroot_list

vim chroot_list
在这里插入图片描述

FTP如何部署指定用户访问指定目录
进入到 www目录,创建index.html文件,且进入到web目录,创建index.php

cd /var/www

touch index.html

cd /var/web

touch index.php

重启服务进行测试:

service vsftpd restart

如果上面的命令没有重启成功,可以使用以下命令:

/bin/systemctl restart vsftpd
在这里插入图片描述

在这里插入图片描述

如果登录不上,可以将TLS改为普通
在这里插入图片描述

FTP如何部署指定用户访问指定目录
并选择“编辑”,“设置”,“被动模式”,改为“退回到主动模式”
在这里插入图片描述
FTP如何部署指定用户访问指定目录
如果是阿里云服务器的话,可以在安全组的配置规则中添加21端口

在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐