centos7-vsftp(虚拟用户)
Posted meml
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7-vsftp(虚拟用户)相关的知识,希望对你有一定的参考价值。
要求如下:
1、所有用户主目录为/var/www宿主为virtual用户;
2、ftpuser1用户只能下载不能上传以及删除文件重命名操作;
3、ftpuser2可以下载与上传文件以及删除重命名操作;
4、ftpadmin可以下载与上传文件以及删除重命名操作,上传文件的umask为022;
本机ip:192.168.1.3
一、安装服务。
[root@localhost ~]# yum -y install vsftpd
二、配置主配置文件。
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# grep -v "^# |^#$" vsftpd.conf.bak > vsftpd.conf #过滤一下。不然看着乱
[root@localhost vsftpd]# vim vsftpd.conf
增加:
allow_writeable_chroot=yes #是否允许囚禁的用户进行写权限
user_config_dir=/etc/vsftpd/user #权限映射目录
guest_enable=YES #启用虚拟用户
guest_username=virtual #映射用户
修改:
pam_service_name=vsftpd
为:
pam_service_name=pa #定义pam模块
三、pam模块认证。
首先先要去添加一下用户账号、以及密码,并hash加密。
[root@localhost vsftpd]# vim up #这儿我用up来代表用户信息。username、password的缩写
增加:
ftpuser1 #用户名
123 #密码
ftpuser2 #用户名
123 #密码
ftpadmin #用户名
123 #密码
[root@localhost vsftpd]# db_load -T -t hash -f up up.db #加密用户信息
[root@localhost vsftpd]# vim /etc/pam.d/pa #编辑pam认证
增加:
auth required pam_userdb.so db=/etc/vsftpd/up
account required pam_userdb.so db=/etc/vsftpd/up
四、定义虚拟用户的权限。
[root@localhost vsftpd]# mkdir user
[root@localhost vsftpd]# cd user
[root@localhost user]# touch ftpuser1 #要求是ftpuser1只能进行下载,啥都不能了,所以直接创建一个空文件在这儿就好啦。
[root@localhost user]# vim ftpuser2
增加:
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
[root@localhost user]# vim ftpadmin
增加:
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
anon_umask=022
[root@localhost user]# useradd -s /sbin/nologin -d /var/www virtual #创建映射的用户
[root@localhost user]# systemctl restart vsftpd
[root@localhost user]# echo haha > /var/www/1.txt #创建一个文件,方便连接的时候,好识别是不是连接对了。
测试ftpuser1:
测试ftpuser2:
解决:
[root@localhost vsftpd]# chown virtual /var/www/
测试ftpadmin:
有一些权限是肯定有的。我就不一一测试了。
以上是关于centos7-vsftp(虚拟用户)的主要内容,如果未能解决你的问题,请参考以下文章