码迷,mamicode.com
首页 > 其他好文 > 详细

实现centos7下对ftp服务器账户权限的控制

时间:2018-01-09 21:21:49      阅读:1293      评论:0      收藏:0      [点我收藏+]

标签:color   inux   用户   名称   process   用户名   vim   sts   使用   

一、建立虚拟用户
vim /etc/vsftpd/vsuser
ftp1
centos
ftp2
linux
ftp3
Debain
技术分享图片
转换成.db文件 【注意:必须是.db结尾】
db_load -T -t hash -f vsuser vsuser.db
技术分享图片
为了安全起见,修改权限
chmod 600 vsuser.db
二、为虚拟用户创建系统账号(此步是为了让所有的虚拟用户都映射成系统账户)
useradd -d /app/ftpsite -s /sbin/nologin ftpuser
技术分享图片
修改共享目录权限
chown +rx /app/ftpsite
技术分享图片
Centos7需要去掉w权限
Chown -w /app/ftpsite
技术分享图片
三、修改vsftpd的配置文件,添加系统账户和是否映射成系统账户
vim /etc/vsftpd/vsftpd.conf
guest_enable=YES 是否映射成系统账号
guest_username=ftpvsuser 系统账户
技术分享图片
pam_service_name=vsuser 【pam配置文件名称。原本是vsftp】

创建文件名称
vim /etc/pam.d/vsuser
auth required pam_userdb.so db=/etc/vsftpd/vsuser
account required pam_userdb.so db=/etc/vsftpd/vsuser 【此两行路径是创建虚拟用户数据的文件路径,即vsuser.db文件路径】
技术分享图片
到此虚拟用户可以登录了。
只是想让不同的虚拟账号拥有不同的权限。
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/vhosts.d 【加载用户配置文件路径】
mkdir /etc/vsftpd/vhosts.d 【创建出该路径】
技术分享图片
四、ftp1拥有下载和上传权限
为了方便管理,不能把所有的文件都上传到家目录里,所以创建个目录
mkdir /app/ftpsite/share1
Setfacl -m u:ftpuser:rwx /app/ftpsite/share1 【让share1目录本身拥有权限】
技术分享图片
Vim /etc/vsftpd/vhosts.d/ftp1 【文件名必须和创建的虚拟用户名保持一致】
anon_upload_enable=YES 开启上传
anon_mkdir_write_enable=YES 建文件夹
技术分享图片
重启服务,实验结果。
技术分享图片
此刻使用ftp2实验上传和下载
技术分享图片
五、同时可以让ftp2登录共享文件夹时看到的和ftp1登录看到的不一样
vim /etc/vsftpd/vhosts.d/ftp2
local_root=/app/ftpsite/share2
mkdir /app/ftpsite/share2/f1 创建出该目录
技术分享图片
测试:
重启服务
技术分享图片
登录测试
技术分享图片
后期相对ftp2做权限控制可以参照ftp1。至此,服务搭建完成。

实现centos7下对ftp服务器账户权限的控制

标签:color   inux   用户   名称   process   用户名   vim   sts   使用   

原文地址:http://blog.51cto.com/19940919/2059183

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!