vsftd及虚拟用户

Posted wuhg

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vsftd及虚拟用户相关的知识,希望对你有一定的参考价值。

临时需要搭建一个ftp,突然忘记怎么搞了,重新整一下,以后备用

vsftd及虚拟用户

1.安装vsftpd

yum install vsftpd

2.添加用户(用于虚拟用户映射)

adduser seedftp -s /sbin/nologin

3.修改配置文件

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES

userlist_enable=YES
tcp_wrappers=YES

pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30090

guest_enable=YES #启用虚拟用户
guest_username=seedftp #虚拟用户映射的真实用户
pam_service_name=vsftpd.vu #指定PAM文件路径
user_config_dir=/etc/vsftpd/user_conf #配置虚拟用户配置文件路径

4.关于主动及被动

开启被动模式:

connect_from_port_20=NO(默认为YES) #设置是否允许主动模式
pasv_enable=YES(默认为YES) #设置是否允许被动模式
pasv_min_port=30000(default:0(use any port))
pasv_max_port=40000(default:0(use any port))

开启主动模式的配置:

connect_from_port_20=YES
pasv_enable=NO

5.修改PAM

vim /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login

6.配置虚拟用户

vim /tmp/caiuser
caiuser
xmks89232

7.建立数据文件

db_load -T -t hash -f /tmp/login.txt /etc/vsftpd/vsftpd_login.db

8.创建用户宿主目录

chmod 700 /home/seedftp/
mkdir ftp

创建初始目录:

cd ftp/
mkdir cklpub
chown -R seedftp.seedftp cklpub
chmod 700 cklpub #安全设置必须,这个目录用户组和其它没有写权限

9.配置用户配置文件

vim user_conf/nili
local_root=/data/release_pub/NILI
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
cmds_denied=DELE,RMD #禁止删除和修改

10.重启服务器

systemctl restart vsftpd.service

10.备注

227 Entering Passive Mode (11,7,14,177,207,77).

ftp: connect: Connection timed out

如果报错,一定要查看pasv模式端口是否打开

iptables -I INPUT -m state –state NEW -p tcp -m tcp –dport 30000:31000 –syn -j ACCEPT

端口范围不能写错

pasv_min_port=30000
pasv_max_port=30090
vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:

allow_writeable_chroot=YES


































































以上是关于vsftd及虚拟用户的主要内容,如果未能解决你的问题,请参考以下文章

FTP虚拟用户及ssl加密配置

Vsftp安装及配置虚拟用户

vsftpd 使用虚拟用户及单用户多目录的配置

Samba文件共享,及匿名用户,指定用户,虚拟用户的创建和管理

FTP/Vsftpd服务本地用户及虚拟用户访问控制详解

第一周第四节用户模式救援模式及虚拟机克隆免秘钥交互式登录