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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现centos7下对ftp服务器账户权限的控制相关的知识,希望对你有一定的参考价值。

一、建立虚拟用户
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服务器账户权限的控制的主要内容,如果未能解决你的问题,请参考以下文章

虚拟机下centos ftp的问题

怎样在电脑上设置第二个账户

Lnmp下pureftpd新建FTP账户权限不足解决方法

centos 6.3 vsftpd服务没办法上传文件

wordpress 更新时需要FTP 服务器账户密码的解决方法

centos7 上 使用vsftp 搭建ftp环境