一、实验目的:
实现虚拟用户zhangsan、lisi从客户端通过ftp登录到远程主机,并设置zhangsan、lisi不同的操作权限;
二、实验步骤:
- 第1步 :
-创建用于FTP认证的用户数据库文件:
[root@linuxprobe ~]
[root@linuxprobe vsftpd]
zhangsan
redhat
lisi
redhat
用db_load工具将数据用HASH算法加密,生成新的用户数据库文件:
[root@linuxprobe vsftpd]
[root@linuxprobe vsftpd]
vuser.db: Berkeley DB (Hash, version 9, native byte-order)
- 第2步:
创建虚拟用户登录后所访问的默认位置,创建虚拟用户登录后所映射的本地用户:
[root@linuxprobe vsftpd]
[root@linuxprobe vsftpd]
drwx------. 3 vftpuser vftpuser 78 Oct 28 19:31 /var/ftproot
[root@linuxprobe vsftpd]
[root@linuxprobe vsftpd]
drwxr-xr-x. 3 vftpuser vftpuser 78 Oct 28 19:31 /var/ftproot
[root@linuxprobe vsftpd]
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
- 第4步:
修改vsftp服务的主配文件,通过pam_serice_name来设置刚才编写的vsftpd.vu:
guest_enable=YES
guest_username=vftpuser
pam_service_name=vsftpd.vu
allow_writeable_chroot=YES
- 第5步
对虚拟用户设置不同的权限,zhangsan有创建、修改、删除、查看权限,lisi只允许查看权限:
[root@linuxprobe vsftpd]
[root@linuxprobe vsftpd]
[root@linuxprobe vsftpd]
local_root=/var/ftproot
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
write_enable=YES
然后修改vsftpd主配文件,用user_config_dir来指定用户不同权限的配置文件的路径:
user_config_dir=/etc/vsftpd/vusers_dir
- 第6步
检查SELinux的域允许策略,然后在客户端通过FTP来验证实验结果。
[root@linuxprobe vsftpd]
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
***ftpd_full_access --> on***
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
tftp_home_dir --> off
[root@servera ~]
Connected to 192.168.137.10 (192.168.137.10).
220 (vsFTPd 3.0.2)
Name (192.168.137.10:root): lisi
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir lisi
550 Permission denied.
ftp> exit
221 Goodbye.
[root@servera ~]
Connected to 192.168.137.10 (192.168.137.10).
220 (vsFTPd 3.0.2)
Name (192.168.137.10:root): zhangsan
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> mkdir zhangsan
257 "/zhangsan" created
ftp> rename zhangsan zs
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir zs
250 Remove directory operation successful.
ftp> exit
221 Goodbye.
|