VSFTP虚拟用户创建方法
yum -y install vsftpd*
yum -y install pam*
yum -y install db4*
一、建立一个存放用户名和密码的文件
vi mima.txt (记住路径,后面要用的着)
在文件里输入
用户名一
密码一
用户名二
密码二
用户名三
密码三
保存
二、生成虚拟用户帐户数据库
db_load -T -t hash -f /etc/vsftpd/mima.txt /etc/vsftpd/vsftpd_login.db
生成能被 pam.d认识的数据库vsftpd_login.db
mima.txt是前面建立的那个文件,vsftpd_login.db 可自己命名然后记好。如果以后要更改mima.txt里的用户名的密码,重新执行上面命令才能生效。
chmod 600 /etc/vsftpd/vsftpd_login.db 更改权限 只有ROOT用户才能读写
三、在pam.d下建立一个文件vsftpd_login(可自己命名,但要记住)
输入以下内容然后保存
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
#这里的vsftpd_login为之前建立的数据库文件vsftpd_login.db 在这里面把.db去掉
四、创建一个叫ftp_virt的用户,它的主目录为/home/ftpsite 且不能登陆系统
useradd -d /home/ftpsite -s /nologin ftp_virt
chmod 777 /home/ftpsite/ #更改属性
五、修改配制文件visftpd.conf
vi /etc/vsftpd/vsftpd.conf
在后面添加
guest_enable=YES
#启用虚拟用户
guest_username=ftp_virt
#所有虚拟用户所对应系统贴是ftp_virt 之前建立的那个。
pam_service_name=vsftpd_login
#调用之前建立在pam.d下的vsftpd_login文件,读取用户的信息
保存 重启VSFTP就行。
虚拟用户的添加和为不同用户指定不同目录。
先在配制文件下添加这代码:
user_config_dir=/etc/vsftpd/user.d
然后在/etc/vsftpd/建立 user.d文件夹
之后在文件夹里以mima.txt用户名为准新建和用户名同名的文件
vi /etc/vsftpd/user.d/用户名一
之后在文件里面输入如下代码:
#/etc/vsftpd/user.d/用户名一
local_root=/home/wuxiufeng/wxf
#End
为用户名一指定主目录为home/wuxiufeng/wxf
给用户设置权限
# vi /etc/vsftpd/user.d/用户名一 所有权限
write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=Yes
local_root=/tools
# vi /etc/vsftpd/user.d/用户名二 上传权限
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=NO
local_root=/data
# vi /etc/vsftpd/user.d/用户名三只能下载
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
local_umask=022
download_enable=yes
local_root=/data
10.用户管理
userdel 选项 用户名 #删除用户
常用的选项是-r,它的作用是把用户的主目录一起删除。
passwd 选项 用户名 #修改口令
passwd -l 用户名 锁定口令,即禁用账号。
passwd -u 用户名 口令解锁。
passwd -d 用户名 使账号无口令。
passwd -f 用户名 强迫用户下次登录时修改口令。
如果默认用户名,则修改当前用户的口令。
如果是超级用户,可以用下列形式指定任何用户的口令:
passwd 用户名
passwd -d 用户名 此命令将用户的口令删除,这样用户下一次登录时,系统就不再询问口令
11.是否想修改21端口呢?
先修改防火墙,增加其FTP端口,下面使用921
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 921 -j ACCEPT
/etc/init.d/iptables restart #重启防火墙
/etc/vsftpd/vsftpd.conf 里增加加 listen_port=921
/etc/rc.d/init.d/vsftpd restart #重启vsftpd
netstat -an |grep 921 #查看端口是否正常启动:
有时客户端反应很慢,可以使用被动模式