ftp创建虚拟用户并赋予不同权限

#ftp服务器上创建虚拟用户并分别配置不同权限#
以下内容均为本人切身实践操作所得,之间过程也比较曲折,查了许多资料更是也踩了许多坑,希望对各位朋友有所帮助!!

1.创建用户密码列表文件
cd /etc/vsftpd/
vim ./vusers.list(创建虚拟用户文件并按如下格式输入添加的账号及密码)
用户a
用户a密码
用户b
用户b密码
用户c
用户c密码

2.创建虚拟账号数据库
db_load -T -t hash -f vusers.list vusers.db(生成的库名)
file vusers.db(查看数据库信息)

3.添加虚拟账号映射账号(此账号为ftp服务器上真实存在的,为了安全此用*户一般设置为不可登录)
useradd -d /home/user1 -s /sbin/nologin user1
passwd user1(123456)(给用户设置密码)
chmod 755 /home/user1/(设置此用户家目录的权限,若虚拟用户的家目录不打算指定到此目录下,此步可以省略)*
3.增加pam认证(安全考虑)
vim /etc/pam.d/vsftpd.vu(添加此文件)
auth required pam_userdb.so db=/etc/vsftpd/vusers(结尾不带.db)
account required pam_userdb.so db=/etc/vsftpd/vusers
保存退出即可

4.修改vsftpd.conf配置文件并重启服务(以下内容是修改的部分)

     *anonymous_enable=NO(关闭匿名用户功能)
       local_enable=YES   本地用户功能开启
        write_enable=YES  本地用户写权限
        local_umask=022   文件的掩码
        anon_umask=022(添加,本人不太清楚为啥添加,不过不添加可能报错)
       chroot_local_user=YES限制用户在家目录中
       chroot_list_enable=YES (开启访问用户列表,下边需要创建chroot_list并将user1写入到文件中)
        allow_writeable_chroot=YES
        chroot_list_file=/etc/vsftpd/chroot_list
        listen=YES
        listen_ipv6=NO
        guest_enable=YES(添加)开启虚拟用户功能
        guest_username=sprixin1 映射虚拟用户的本地账号
        user_config_dir=/etc/vsftpd/config  虚拟用户的配置文件
        pam_service_name=vsftpd.vu(修改为与前边对应的文件名)

创建需要的文件及目录
mkdir -p /etc/vsftpd/config(此目录下放置虚拟用户的配置文件)
touch -p /etc/vsftpd/chroot_list
echo ‘user1’>chroot_list
重启ftp服务(本人用的是centos7系统)
ss -anpt |grep vsftpd
kill 1181(进程号)*
5.实现每个虚拟用户不同跟目录,不同权限的管控
创建用户家目录,并创建虚拟用户的同名配置文件
cd /etc/vsftpd/config
touch usera userb userc
cd /home
mkdir USERa USERb USERc
修改家目录的属主属组为user1,权限为777
chown user1.user1 USERa
chown user1.user1 USERb
chown user1.user1 USERc
chmod 777 USERa
chmod 777 USERb
chmod 777 USERc

6.分别设置虚拟用户权限
设置usera用户只有上传的权限
vim /etc/vsftpd/config/usera

 local_root=/home/USERa
 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(其他写权限,改,删)
 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

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

  local_root=/home/USERb
   write_enable=YES
   anon_umask=022
   anon_world_readable_only=NO
   anon_upload_enable=NO
   anon_other_write_enable=YES

设置userc用户有所有权限
vim /etc/vsftpd/config/userc

local_root=/home/USERc
guest_enable=YES
guest_username=user1
anon_world_readable_only=NO
anon_other_write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_umask=022

7.重启服务器
systemctl restart vsftpd
成功!!!!!!

猜你喜欢

转载自blog.csdn.net/weixin_43279032/article/details/82849462
今日推荐