前言
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虚拟用户权限配置
完成上述步骤我们就通过FTP给不同人员分配好不同权限了。
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
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。