vsftpd 虚拟用户 多用户不同权限管理

1.需要建立一个用户,这个用户是linux系统的本地用户,各ftp帐号使用它和vsftpd的配合间接存取服务器文件。

#groupadd virtual

#useradd -g virtual vuser

2.建立ftp用户帐号列表子文件logins.txt

anvycn
test0
dym529
test1
admin
test2

用户名和密码依次隔开

#db_load -T -t hash -f ./logins.txt ./vsftpd_login.db

无论你在什么地方执行的,无论你的文件生成在哪里,请记住你vsftpd_login.db的地址,另外建议删除logins.txt

3.建立vsftpdpam_service文件,注意这里的db=path

#vi /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

:qw保存

4.设置用户权限

建立用来存放用户权限设置文件的目录

#mkdir /etc/vfstpd/virtual

并在该文件夹下依次建立与logins.txt对应的帐号名称相同的文件

如:

[anvycn]仅仅允许下载

anon_world_readable_only=NO
local_root=/usr/local/apache/htdocs/anvy_test/

[dym529]允许建立,修改,但是不允许删除

anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
local_root=/usr/local/apache/htdocs/dym_test/

[admin]全部权限

anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
local_root=/usr/local/apache/htdocs/

5.设置vsftpd.conf

#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

#vi /etc/vsftpd/vsftpd.conf

修改内容如下

listen=YES
#listen_port=10021
connect_from_port_20=YES
ftpd_banner=Welcome to virtual FTP service.

anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES

guest_enable=YES
guest_username=vuser

pasv_min_port=30000
pasv_max_port=30999

pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/virtual
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

hide_file=.*

[esc]

:qw

6.重新启动vsftpd

#/sbin/service vsftpd restart

反复2次,确认shutdownstart都是OK,如有错误,反复检查以上步骤

7.如有用户出现不能登入,目录意外拒绝现象,请检查目录是否存在,pam.d/vsftpd.vu是否无误,重要的是

#ls -l 你的ftp根目录查看owner是否属于 vuser:virtual,如果不是

#chown -R vuser:virtaul 你的ftp根目录

8.日常维护

壹。#db_load -T -t hash -f ./logins.txt ./vsftpd_login.db 更新帐号

贰。更新vsftpd/virtual/下对应的权限

叁。/sbin/service vsftpd restart

你可能感兴趣的:(Linux网络服务)