欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

centos 7 安装vsftpd 过程记录

程序员文章站 2022-05-31 16:29:26
...

由于工作需要, 再测试环境上安装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