centos 7 安装vsftpd 过程记录
由于工作需要, 再测试环境上安装vsftpd,主要参考以下文章
http://www.huzs.net/?p=1213#theory_security
http://www.cnblogs.com/hhuai/archive/2011/02/12/1952647.html
使用本地用户时,配置和启动都很顺利。
想测试下虚拟用户,一直启动不了, 通过提示的命令查看错误信息也看不到效果。
最后启动成功的配置文件
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
chown_uploads=NO
xferlog_file=/var/log/vsftpd/vsftpd.log
xferlog_std_format=YES
nopriv_user=vsftpd
async_abor_enable=YES
ascii_upload_enable=YES
ascii_download_enable=YES
ftpd_banner=This Vsftp server supports virtual users ^_^
chroot_list_enable=NO
ls_recurse_enable=NO
listen=YES
userlist_enable=YES
tcp_wrappers=YES
guest_username=overlord
virtual_use_local_privs=YES
guest_enable=YES
guest_username=overlord
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/vuser_conf
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=40090
pam_service_name=vsftpd
/etc/pam.d/vsftpd
中的配置
#%PAM-1.0
auth sufficient /usr/lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_users
account sufficient /usr/lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_users
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
auth sufficient /usr/lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_users
account sufficient /usr/lib64/security/pam_userdb.so db=/etc/vsftpd/virtual_users
是新增的内容,必须放在前两行, 附上一段PAM验证的说明,具体请查阅
https://wenku.baidu.com/view/2308e719fc4ffe473368ab6c.html
2 PAM验证类型
* auth 验证使用者身份,提示输入账号和密码
* account 基于用户表、时间或者密码有效期来决定是否允许访问
* password 禁止用户反复尝试登录,在变更密码时进行密码复杂性控制
* session 进行日志记录,或者限制用户登录的次数 libpam函数库会可以调用以上一种服务或者全部。
3 PAM验证控制类型(Control Values)
验证控制类型也可以称做Control Flags,用于PAM验证类型的返回结果。
* required 验证失败时仍然继续,但返回Fail(用户不会知道哪里失败)
* requisite 验证失败则立即结束整个验证过程,返回Fail
* sufficient 验证成功则立即返回,不再继续,否则忽略结果并继续
* optional 无论验证结果如何,均不会影响(通常用于session类型
另安装成功后,启动也是正常的, 但是使用浏览器访问一直提示登录失败。
在使用filezilla客户端后, 终于看到错误信息
响应: 500 OOPS: config file not owned by correct user, or not a file
从这里可以看到文件的所属人不对,查看后,发现/etc/vsftpd/virtual_users.db 和 vuser_conf 的所属用户和启动用户不一样,更改成使用用户即可。
转载于:https://my.oschina.net/conanxke/blog/892178
上一篇: 快速删除 node_modules
下一篇: centos7 安装 vsftpd 过程