rhel5.5建立Vsftpd虚拟用户

本文是假设你已经安装vsftpd

没安装请下载rpm包安装

1、创建虚拟用户文件login.txt

[root@localhost ~]# vim login.txt

奇数行为用户名,偶数行为密码。

test
test

给此文件设置600权限

[root@localhost ~]#chmod 600 login.txt

查看是否安装[   ] db4-utils-4.3.29-10.el5.i386.rpm

[root@localhost ~]# rpm -qa | grep db4-utils
db4-utils-4.3.29-10.el5

 

没有则点击下载它并安装:

rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm

下面使用db_load命令生成虚拟用户口令认证文件。

生成一个hash码型的数据库文件供ftp虚拟用户使用。

[root@localhost ~]#db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/vsftpd_login.db

设置600权限

[root@localhost ~]#chmod 600 /etc/vsftpd/vsftpd_login.db

 

2、配置PAm文件

修改/etc/pam.d/vsftpd添加尾部两行内容如下:(其他内容请注释)


#%PAM-1.0
#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     system-auth
#account    include     system-auth
#session    include     system-auth
#session    required     pam_loginuid.so
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

 

 

注:

(x86_64)

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

 

3、建立本地映射用户并设置宿主目录权限

所有的FTP虚拟用户需要使用一个系统用户,这个系统用户不需要密码,不需要本地shell。

[root@localhost ~]#useradd -s /sbin/nologin ftpsite(也可以-d 改变主目录)

 

4、配置vsftpd.conf

[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf

anonymous_enable=NO   //禁止匿名用户访问

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list  //设置chroot_local_user=YES后,该文件内部制定的用户会被限制在帐号的Home目录
chroot_local_user=YES   //以上设置chroot功能,使整体ftp更安全

guest_enable=YES   //开启虚拟用户

guest_username=virtuser   //FTP虚拟用户对应的系统用户

pam_service_name=vsftpd //PAM认证文件

user_config_dir=/etc/vsftpd/virtual   //用户配置文件存放目录

pasv_min_port=30000
pasv_max_port=30999

创建chroot_list空文件(chroot功能需设置)

[root@localhost ~]#touch /etc/vsftpd/chroot_list

5、重启vsftpd服务

[root@localhost ~]#service vsftpd restart

6,设置selinux

[root@localhost ~]#setsebool -P ftpd_disable_trans  on

没设置会出现

vsftp连接时的"500 OOPS:cannot change directory:/root"错误

7、设置防火墙

添加防火墙规则

vim /etc/sysconfig/iptables

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 30000:30999 -j ACCEPT

重启 防火墙

service iptables restart

一切OK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值