文章目录
OS版本:银河麒麟服务器操作系统V10SP2(x86_64)
FTP服务端:vsftpd-3.0.3-31
①设定FTP根目录为/data/vsftpd/,并禁止匿名用户访问FTP服务端;
②FTP访问账户:
管理员用户:admin密码111,拥有整个FTP根目录/data/vsftpd/及子目录的上传、下载、修改和删除等全部权限;
普通用户一:test1密码222,仅拥有工作目录/data/vsftpd/test1/的上传、下载权限(不能修改已有文件且不能删除文件);
普通用户二:test2密码333,仅拥有FTP根目录/data/vsftpd/及子目录的下载权限(不能上传、修改和删除);
- 安装vsftpd服务;
[root@localhost ~]# yum install -y vsftpd
2. 设置vsftpd服务开机自启并立即启动;
[root@localhost ~]# systemctl enable --now vsftpd
3. 系统防火墙放行vsftpd服务;
[root@localhost ~]# firewall-cmd --zone=public --add-service=ftp --permanent[root@localhost ~]# firewall-cmd --reload
4. 修改FTP服务端配置文件/etc/vsftpd/vsftpd.conf,在配置文件结尾追加以下内容:
#禁止用户访问除主目录以外的目录chroot_local_user=YES#FTP根目录local_root=/data/vsftpd#设置支持ASCII模式上传ascii_upload_enable=YES#设置支持ASCII模式下载ascii_download_enable=YES#启用虚拟用户登录FTPguest_enable=YES#设置虚拟用户使用的系统用户名guest_username=vsftpd#设置虚拟用户的配置文件目录user_config_dir=/etc/vsftpd/vsftpd_user_conf#设置虚拟用户与本地用户拥有相同的权限virtual_use_local_privs=YES#设置仅能访问当前登录用户的根目录allow_writeable_chroot=YES
- 创建系统账户vsftpd,设置家目录为/data/vsftpd,并禁止使用该账户登录操作系统;
[root@localhost ~]# useradd vsftpd -d /data/vsftpd -s /sbin/nologin
- 新建三个虚拟用户(admin,test1,test2),并生成数据库文件;
备注:/etc/vsftpd/ftp_user文件内容中“奇数行”为虚拟用户名,“偶数行”为虚拟用户对应的密码。
[root@localhost ~]# cat /etc/vsftpd/ftp_useradmin111test1222test2333
[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/ftp_user /etc/vsftpd/vsftpd_login.db
7. 修改vsftpd服务的PAM认证模块配置;
修改前:
修改后:
8. 为三个虚拟用户配置FTP权限;
先创建虚拟用户的配置文件目录:
[root@localhost ~]# mkdir -p /etc/vsftpd/vsftpd_user_conf
(1)管理员账户:admin
(2)普通用户一:test1
(3)普通用户二:test2
9. 创建FTP根目录和FTP用户工作目录,并修改目录权限;
[root@localhost ~]# mkdir -p /data/vsftpd/test1[root@localhost ~]# chown -R vsftpd:vsftpd /data/vsftpd
- 重启vsftpd服务。
[root@localhost ~]# systemctl restart vsftpd
当客户端系统为银河麒麟桌面操作系统时,我们可以使用系统"文件管理器"或者"FTP客户端"工具软件来访问FTP服务端;当客户端系统为Windows系统时,我们可以使用开源工具“MobaXterm”或者“Windows资源管理器”来访问FTP服务端。
①管理员用户admin访问FTP服务端,在根目录下创建空文件夹“测试”,在“test1”目录下创建空文件“admin.txt”和“test.txt”,并测试删除admin.txt文件。
测试结果:能对FTP根目录及其所有子目录执行上传、下载、修改和删除等所有操作。
②普通用户test1访问FTP服务端,确认默认工作目录为test1,并且不能切换到上级目录;创建空文件test1.txt,并尝试修改文件名、文件内容和删除该文件。
测试结果:默认工作目录为test1,且仅能上传和下载文件/文件夹,无法修改和删除文件。
③普通用户test2访问服务端,尝试上传、下载、创建、删除和修改文件/文件夹;
测试结果:test2账户仅能下载FTP根目录/data/vsftpd/及其所有子目录的下载权限,其他包括上传、创建、删除和修改的一切操作均会提示“550 Permission denied”(权限不足)。
来源地址:https://blog.csdn.net/ShenSeKyun/article/details/128362252