linux下ftp虚拟用户权限控制,只允许指定用户上传或者下载

ftp权限控制:任意用户均可上传或者下载文件,或者只允许特定用户仅下载文件或者仅上传文件
安装vsftpd软件包

yum install  -y vsftpd

创建共享目录share
修改ftp配置文件:
在这里插入图片描述

创建用户密码列表文件,文件不要有空格
vim /etc/vsftpd/vusers.list

用户1
用户1密码
用户2
用户2密码
用户3
用户3密码

创建虚拟账号数据库

db_load -T -t hash -f vusers.list vusers.db

查看数据库信息:

file vusers.db

vusers.db: Berkeley DB (Hash, version 9, native byte-order)

在服务器上添加虚拟账号映射账号(此账号为ftp服务器上真实存在的,为了安全此用*户一般设置为不可登录)

useradd  -s /sbin/nologin ftpadmin
passwd  ftpadmin
mkdir -p /etc/vsftpd/config #创建虚拟用户配置文件存放目录

增加pam认证
vim /etc/pam.d/vsftpd.vu

auth 	required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers

修改ftp配置文件vsftpd.conf

        anonymous_enable=NO(关闭匿名用户功能)
        local_enable=YES   本地用户功能开启
        write_enable=YES  本地用户写权限
        local_umask=022   
        anon_umask=022
        chroot_local_user=YES限制用户在家目录中
        local_root=/mnt/share 设置用户访问目录
        userlist_deny=NO
        allow_writeable_chroot=YES(centos6有时需要去掉此行,否则报错)
        listen=YES
        listen_ipv6=NO
        guest_enable=YES(添加)开启虚拟用户功能
        guest_username=ftpadmin 映射虚拟用户的本地账号
        user_config_dir=/etc/vsftpd/config  虚拟用户的配置文件
        pam_service_name=vsftpd.vu(修改为与前边对应的文件名)

实现每个虚拟用户不同跟目录,不同权限的管控
创建用户家目录,并创建虚拟用户的同名配置文件

cd /etc/vsftpd/config
touch ftpadmin01 ftpadmin02 ftpadmin03 #创建用户ftpadmin01 ftpadmin02 ftpadmin03的配置文件
mkdir -p  /mnt/share/ftpadmin0{1..3} #创建3个用户的上传目录
chown ftpadmin:ftpadmin  /mnt/share/ftpadmin01
chown ftpadmin:ftpadmin  /mnt/share/ftpadmin02
chown ftpadmin:ftpadmin  /mnt/share/ftpadmin03

分别设置虚拟用户权限
设置ftpadmin01只有上传权限:
vim /etc/vsftpd/config/ftpadmin01

 local_root=/mnt/share/ftpadmin01
 write_enable=YES
 download_enable=NO
 anon_umask=022
 anon_world_readable_only=NO(关闭只可读权限)
 anon_upload_enable=YES(上传)
 anon_mkdir_write_enable=YES(创建目录权限)
 anon_other_write_enable=YES(其他写权限,改,删)(此行改为NO后,便没有了删除权限,其他权限不变)
 cmds_allowed=FEAT,REST,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RMD,SIZE,STOR,TYPE,USER,ACCT,APPE,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,RETR

设置ftpadmin02用户只有下载的权限
vim /etc/vsftpd/config/ftpadmin02

   local_root=/mnt/share/ftpadmin02
   write_enable=YES
   anon_umask=022
   anon_world_readable_only=NO
   anon_upload_enable=NO
   anon_other_write_enable=YES

设置ftpadmin03拥有所有权限:
vim /etc/vsftpd/config/ftpadmin03

local_root=/mnt/share/ftpadmin03
guest_enable=YES
guest_username=ftpadmin
anon_world_readable_only=NO
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_umask=022
download_enable=YES

启动服务:

systemctl start vsftpd
  • 10
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你敢和我比剑吗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值