Chinaunix首页 | 论坛 | 博客
  • 博客访问: 24727
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2014-09-18 15:33
文章分类

全部博文(3)

文章存档

2016年(2)

2015年(1)

我的朋友

分类: 系统运维

2016-02-18 17:05:41

 FTP实现上传、下载、删除的权限控制

需求:

需要两个角色,分别为

1、         管理员:有对文件的上传下载和删除操作

2、         普通用户:有对文件的上传和下载权限,没有删除权限

 
网上很多参考资料,用centos6和7各做了实验,其中centos6实现正常,但是7一直访问不了,经过反复实验和学习,发现7需要配置pam.d的认证密码配置。现在整理如下,做个备忘:

服务器环境:centos6.5

实现:

1、         安装

yum –y install vsftpd

2、         配置

创建虚拟用户的宿主用户

useradd -d /home/ftpdir virtual

chmod 700 /home/ftpdir

 

创建虚拟用户

vim /etc/vsftpd/vuser

admin

12345678

upload

12345678

download

12345678


设置密码数据库   

db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.db

chmod 600 /etc/vsftpd_login.db


 

 ftp配置文件新增如下字段 

vim /etc/vsftpd/vsftpd.conf

guest_enable=YES  #启用虚拟用户

guest_username=virtual #将虚拟用户映射为本地virtual用户

user_config_dir=/etc/vsftpd_user_conf #指定不同虚拟用户配置文件的存放路径

pam_service_name=vsftpd  #指定PAM配置文件为在/etc/pam.d/下的vsftpd

保存退出

虚拟用户的配置文件

mkdir /etc/vsftpd_user_conf 

vim /etc/vsftpd_user_conf/download

local_root=/home/ftpdir

anon_world_readable_only=NO  #开放download用户的下载权限——只能下载;注意这个不地方不要写成YES,否则将不能列出文件和目录

 

vim /etc/vsftpd_user_conf/upload

local_root=/home/ftpdir

anon_world_readable_only=NO

write_enable=YES  #增加写权限

anon_upload_enable=YES  #增加上传权限

anon_mkdir_write_enable=YES  #增加创建目录的权限

 

vim /etc/vsftpd_user_conf/admin

local_root=/home/ftpdir

anon_world_readable_only=NO

write_enable=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES  #增加管理员用户的删除/重命名的权限

 

启动ftp

/etc/init.d/vsftpd start

 

二、centos7

 

centos7上会出现虚拟用户登陆不上,作如下配置,其中红色为新增虚拟用户账号密码文件,蓝色部分注释掉

[ vsftpd_user_conf]# cat /etc/pam.d/vsftpd

#%PAM-1.0

auth required pam_userdb.so db=/etc/vsftpd/vuser

account required pam_userdb.so db=/etc/vsftpd/vuser

session optional pam_keyinit.so force revoke

#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed

#auth required pam_shells.so

#auth include password-auth

#account include password-auth

session required pam_loginuid.so

session include password-auth


重启vsftp
systemctl restart vsftpd

 

阅读(1716) | 评论(0) | 转发(0) |
0

上一篇:SVN钩子脚本pre-commit实现删除权限的控制

下一篇:没有了

给主人留下些什么吧!~~