vsftpd添加虚拟用户,vsftpd添加虚拟


软件安装:
vsftpd
db4-utils (用于虚拟用户密码加密)
1. 添加虚拟用户口令文件
vim /etc/vsftpd/vftp_vuser
test
test123456
#用户名和密码各占一行
2. 生成虚拟用户口令认证文件(生成db文件)
db_load-T -t hash -f /etc/vsftpd/vftp_vuser /etc/vsftpd/vftp_vuser.db
3. 编辑vsftpd的PAM认证文件(vsftp默认PAM认证文件为/etc/pam.d/vsftp)
#新建PAM认证文件
vim /etc/pam.d/ftp
auth required/lib64/security/pam_userdb.so db=/etc/vsftpd/vftp_vuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftp_vuser
4. 建立本地映射用户并设置宿主目录权限
本地映射用户为www,目录权限为700(linux系统用户,test虚拟用户登陆后映射为www用户)
5. 配置vsftpd.conf(设置虚拟用户配置项)

sudo grep -v "^#" vsftpd.conf
#禁止匿名用户登录

 1 anonymous_enable=NO
 2 local_enable=YES
 3 write_enable=YES
 4 local_umask=022
 5 dirmessage_enable=YES
 6 xferlog_enable=YES
 7 xferlog_std_format=YES
 8 idle_session_timeout=600
 9 data_connection_timeout=600
10 chroot_local_user=YES
11 listen=YES


#主动式连接使用的数据通道
connect_from_port_20=YES
#支持数据流的被动式连接模式,设置是否允许pasv模式(即被动模式)
pasv_enable=NO

#vsftpd的pam认证文件
pam_service_name=ftp

#开启userlist,只允许userlist_file中指定的用户登录
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

tcp_wrappers=YES
local_root=/data/www/tomcat1
#虚拟用户test专用配置文件
user_config_dir=/etc/vsftpd/virtual_conf
6.test用户专用配置文件

#文件名要跟用户名一致
vim /etc/vsftpd/virtual_conf/test
guest_enable=yes
guest_username=www
local_root=/data/htdocs/
anon_world_readable_only=no #可以浏览和下载(yes 只读权限)
write_enable=yes #可以上传(全局控制)
anon_mkdir_write_enable=yes #允许创建目录
anon_other_write_enable=yes #允许删除
anon_upload_enable=yes #允许上传
7. 重启vsftpd服务
service vsftpd restart


vsftpd 虚拟用户怎配置?

1、建立虚拟用户口令库文件;
# cat yy.txt
注意:奇数行为用户,偶数行为密码;
2、生成vsftpd的认证文件;
# db_load -T -t hash -f yy.txt /etc/vsftpd/user.db //生成vsftpd的认证文件
# file /etc/vsftpd/user.db
/etc/vsftpd/yy.db: Berkeley DB (Hash, version 8, native byte-order)
# chmod 600 /etc/vsftpd/user.db //设置yy.db文件权限只对root用户可读写;
# ll /etc/vsftpd/user.db
-rw------- 1 root root 12288 Jul 1 19:57 /etc/vsftpd/yy.db
3、建立虚拟用户所需的PAM配置文件;内容如下:
# cat /etc/pam.d/user.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/user
account required /lib/security/pam_userdb.so db=/etc/vsftpd/user
4、建立虚拟用户及要访问的目录并设置相应的权限
# useradd -d /home/ftp ftptest //建立用户名为ftptest,对应的宿主目录为ftp
# chmod 700 /home/ftp //设置权限是700
5、修改vsftpd.conf配置文件,添加虚拟用户的配置项,内容如下:
guest_enable=YES
guest_username=ftptest
pam_service_name=user.vu
6、重新启动vsftpd服务
#service vsftp restart
7、测试vsftpd中的虚拟用户账号
#touch /home/ftp/a.txt
#chown ftptest.ftptest /home/ftp/a.txt //建立一个文件供下载测试用
C:\Documents and Settings\admin>ftp 192.168.2.101
Connected to 192.168.2.101.
220 (vsFTPd 2.0.1)
User (192.168.2.101:(none)): ky //输虚拟FTP用户名
331 Please specify the password.
Password: //输FTP的密码
230 Login successful. //成功
ftp> get a.txt //下载a.txt......余下全文>>
 

linux下vsftpd虚拟用户权限的配置

建议你跟有root用户的客户商量一下,让他给你放开指定命令的sudo权限,这样比较安全,同时你的客户应该也会放心。

供参考!
 

相关内容