Vsftpd: 基于PAM认证的虚拟用户和匿名用户

环境说明
效果说明及截图
①.
②.
③.
④.
⑤.
⑥.
⑦.
⑧.

环境说明

  系统: CentOS 6.6 64位

  版本: vsftpd 2.2.2

效果说明及截图

  匿名用户登录仅有下载的权限

  虚拟用户登录有上传下载, 创建删除文件夹, 删除文件, 更改名字等权限

Vsftpd: 基于PAM认证的虚拟用户和匿名用户

Vsftpd: 基于PAM认证的虚拟用户和匿名用户

①. 安装组件

#安装vsftpd服务相关组件
a. yum install vsftpd -y
#安装pam认证相关组件
b. yum install pam -y
#安装db4来支持文件数据库
c. yum install db4 -y

②. 系统账户建立 1. 建立vsftpd服务的宿主用户

useradd vsftpd -s /sbin/nologin
#默认的Vsftpd的服务宿主用户是root,但是这不符合安全性的需要。这里建立名字为vsftpd的用户,用他来作为支持vsftpd的服务宿主用户。由于该用户仅用来支持vsftpd服务用,因此没有许可他登陆系统的必要,并设定他为不能登陆系统的用户。

2. 建立virtualuser虚拟宿主用户

useradd virtualuser -s /sbin/nologin
#虚拟用户并不是系统用户,也就是说这些FTP的用户在系统中是不存在的。他们的总体权限其实是集中寄托在一个在系统中的某一个用户身上的,所谓virtualuser的虚拟宿主用户,就是这样一个支持着所有虚拟用户的宿主用户。由于他支撑了ftp的所有虚拟的用户,那么他本身的权限将会影响着这些虚拟的用户,因此,处于安全性的考虑,也要非分注意对该用户的权限的控制,该用户也绝对没有登陆系统的必要,这里也设定他为不能登陆系统的用户。使用-d参数指定用户的主目录,用户主目录并不是必须存在的。如果没有存在指定的目录的话,那么它将不会被建立

③. 编辑vsftpd的配置文件 1. 备份配置文件

cp vsftpd.conf vsftpd.conf.bak

2. vim /etc/vsftpd/vsftpd.conf

Vsftpd: 基于PAM认证的虚拟用户和匿名用户

Vsftpd: 基于PAM认证的虚拟用户和匿名用户

1 否启用匿名用户 2 anonymous_enable=YES 3 #匿名用户根目录, 默认是/var/ftp 4 #anon_root=http://www.likecs.com/ftp 5 local_enable=YES 6 #本地用户根目录 7 #local_root=http://www.likecs.com/ftp 8 #匿名用户的权限 9 write_enable=NO 10 #上传权限 11 anon_upload_enable=NO 12 #创建文件夹 13 anon_mkdir_write_enable=NO 14 #如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效当然,匿名用户必须要有对上层目录的写入权 15 anon_other_write_enable=YES 16 #表示用户可以浏览FTP目录和下载文件 17 anon_world_readable_only=NO 18 #设定禁止上传文件更改宿主 19 chown_uploads=NO 20 #设定上传后文件的权限 21 local_umask=022 22 anon_umask=022 23 xferlog_enable=YES 24 xferlog_file=http://www.likecs.com/var/log/vsftpd.log 25 #设定日志使用标准的记录格式 26 xferlog_std_format=YES 27 #设定支撑Vsftpd服务的宿主用户为手动建立的Vsftpd用户 28 nopriv_user=vsftpd 29 #主动模式 30 #connect_from_port_20=YES 31 #广告信息 32 dirmessage_enable=YES 33 ftpd_banner=Welcome to blah FTP service. 34 #禁止用户登出自己的FTP主目录 35 chroot_list_enable=NO 36 chroot_local_user=YES 37 #禁止用户登录ftp后使用ls -R命令递归查询 38 ls_recurse_enable=NO 39 #设定启用虚拟用户功能 40 guest_enable=YES 41 #指定虚拟用户的宿主用户 42 guest_username=virtualuser 43 #设定虚拟用户的权限符合他们的宿主用户 44 virtual_use_local_privs=YES 45 #设定PAM服务下Vsftpd的验证配置文件名。因此,PAM验证将参考/etc/pam.d/下的vsftpd文件配置 46 pam_service_name=vsftpd 47 #设定虚拟用户个人Vsftp的配置文件存放路径。也就是说,这个被指定的目录里,将存放每个Vsftp虚拟用户个性的配置文件,一个需要注意的地方就是这些配置文件名必须和虚拟 48 用户名相同。 49 user_config_dir=http://www.likecs.com/etc/vsftpd/user_conf 50 ## 这两行很重要!指定PAM配置文件为ftp.vu,并指定不同虚拟用户配置文件的存放路径 51 listen=YES 52 #pasv_min_port=30000 53 54 #pasv_max_port=30999

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpszy.html