开发者社区> 问答> 正文

LINUX的FTP如何创建虚拟用户组实现公司人员不同FTP权限

前言
FTP服务20/21端口 20端口用户控制层面 21端口用户数据层面,说白了记得在安全组添加20和21端口哦。
看到某群有问,如何通过FTP给不同人员划分不同权限,类似学校那种提交作业的场景。
这可能是个学生提问的吧。。



过程
首先我配置环境是centos7,并且已经做好了预先的一些操作,比如连接ssh啥的。
然后说一下,如果你是本地测试可以通过配置如下的内容来操作,不是的可以跳过

vim /etc/sysconfig/network-scripts/ifcfg-eno16777736
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_PEERDNS="yes"
IPV6_PEERROUTES="yes"
IPV6_FAILURE_FATAL="no"
NAME="eno16777736"
UUID="48c87bda-ecfa-41ea-97f9-deb76fde46ec"
DEVICE="eno16777736"
ONBOOT="yes"
IPADDR="192.168.17.129"
NETMASK="255.255.255.0"
GATEWAY="192.168.17.2"
DNS1="192.168.17.129"
DNS2="114.114.114.114"



systemctl restart network  重启服务



yum install  vsftpd  安装一下ftp
yum install  ftp  这个是客户端
yum enable  vsftpd  加入开机启动





vim /etc/vsftpd/vuser   创建数据库文件
user1
123
user2
123
admin
123



[root@www vsftpd]# db_load -T -t hash -f vuser vuser.db 加密
[root@www vsftpd]# file vuser.db 查看是否生成成功
vuser.db: Berkeley DB (Hash, version 9, native byte-order)

[root@www vsftpd]# chmod 600 vuser.db 修改文件权限



[root@www vsftpd]# ll  看看是否修改成功


total 36


-rw-------. 1 root root   125 Nov  6  2016 ftpusers


-rw-------. 1 root root   361 Nov  6  2016 user_list


-rw-------. 1 root root  5030 Nov  6  2016 vsftpd.conf


-rwxr--r--. 1 root root   338 Nov  6  2016 vsftpd_conf_migrate.sh


-rw-r--r--. 1 root root    30 Sep  7 10:24 vuser


-rw-------. 1 root root 12288 Sep  7 10:25 vuser.db





[root@www vsftpd]# rm -f vuser 为了安全删除源文件,已经做好生成的文件了,这个没有必要了。

vim /etc/pam.d/vsftpd.vu      生成pam认证文件
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser







useradd -d /home/ftp -s /sbin/nologin virtual 虚拟用户映射本地用户virtual
rm -rf ftp
mkdir ftp
chmod -Rf 755 ftp
chown virtual ftp





mkdir /etc/vsftpd/user_conf             虚拟用户权限配置
cd /etc/vsftpd/user_conf
touch user1
local_root=/home/ftp
anon_world_readable_only=NO  只能下载



vim user2
local_root=/home/ftp
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO





vim admin
local_root=/home/ftp
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES   创建文件夹
anon_other_write_enable=YES   删除
anon_world_readable_only=NO   有读权限就可下载
anon_umask=022



firewall-cmd --permanent --add-service=ftp               防火墙允许    
firewall-cmd --reload



vim /etc/selinux/config  里面的权限记得改为disable
然后setenforce 0
getenfore 查看是否是允许或者禁止,如果是就关闭selinux成功了。





vim /etc/vsftpd/vsftpd.conf                vsftpd虚拟用户权限配置
anonymous_enable=NO
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES
guest_enable=YES
guest_username=virtual
allow_writeable_chroot=YES
user_config_dir=/etc/vsftpd/user_conf
完成上述步骤我们就通过FTP给不同人员分配好不同权限了。



展开
收起
我的中国 2017-11-30 13:51:30 7575 0
1 条回答
写回答
取消 提交回答
  • 您的无私奉献精神值得我们学习!向您致敬!
    2017-12-01 00:19:07
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Alibaba Cloud Linux 3 发布 立即下载
ECS系统指南之Linux系统诊断 立即下载
ECS运维指南 之 Linux系统诊断 立即下载