栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

VSFTP实现虚拟用户登录并设置不同权限实例

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

VSFTP实现虚拟用户登录并设置不同权限实例

一、实验目的:

实现虚拟用户zhangsan、lisi从客户端通过ftp登录到远程主机,并设置zhangsan、lisi不同的操作权限;

二、实验步骤:
  • 第1步 :
    -创建用于FTP认证的用户数据库文件:
[root@linuxprobe ~]# cd /etc/vsftpd
[root@linuxprobe vsftpd]# cat > vuser.list
zhangsan
redhat
lisi
redhat

用db_load工具将数据用HASH算法加密,生成新的用户数据库文件:

[root@linuxprobe vsftpd]# db_load -T -t hash -f vuser.list vuser.db
[root@linuxprobe vsftpd]# file vuser.db
vuser.db: Berkeley DB (Hash, version 9, native byte-order)
  • 第2步:
    创建虚拟用户登录后所访问的默认位置,创建虚拟用户登录后所映射的本地用户:
[root@linuxprobe vsftpd]# useradd -d /var/ftproot -s /sbin/nologin vftpuser
[root@linuxprobe vsftpd]# ll -d /var/ftproot
drwx------. 3 vftpuser vftpuser 78 Oct 28 19:31 /var/ftproot
[root@linuxprobe vsftpd]# chmod 755 -Rf /var/ftproot
[root@linuxprobe vsftpd]# ll -d /var/ftproot
drwxr-xr-x. 3 vftpuser vftpuser 78 Oct 28 19:31 /var/ftproot
  • 第3步:
    建立用于支持虚拟用户的PAM文件:
 [root@linuxprobe vsftpd]# cat >  /etc/pam.d/vsftpd.vu
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	#设置虚拟用户验证pam
allow_writeable_chroot=YES	#允许对FTP根目录执行写入操作
  • 第5步
    对虚拟用户设置不同的权限,zhangsan有创建、修改、删除、查看权限,lisi只允许查看权限:
[root@linuxprobe vsftpd]# mkdir /etc/vsftpd/vusers_dir
[root@linuxprobe vsftpd]# touch /etc/vsftpd/vusers_dir/lisi
[root@linuxprobe vsftpd]# cat > /etc/vsftpd/vusers_dir/zhangsan
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]# getsebool -a | grep ftp
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 ~]# ftp 192.168.137.10
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 ~]# ftp 192.168.137.10
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.
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/361984.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号