搭建vsftpd(本地用户和虚拟用户可以同时存在)

来源:互联网 发布:linux下如何同步时钟 编辑:程序博客网 时间:2024/06/08 16:12

1关闭iptables,selinux

2安装vsftpd

# yum install vsftpd -y

3创建虚拟用户文件

[root@localhost.localdomain ~]

# vim /etc/vsftpd/vusers.txt 

 

one

redhat

two

redhat

three

4使用db_load工具生成数据库.db文件(db_load工具由db4-utils包提供)

# db_load -T -t hash -f /etc/vsftpd/vusers.txt /etc/vsftpd/vusers.db

# chmod 700 /etc/vsftpd/vusers.*

5生成pam认证文件并修改虚拟用户路径

1)只能使用虚拟用户

#cp /usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vusers.pam

auth required /lib/security/pam_userdb.so    db=/etc/vsftpd/vusers(不能写vusers.db否则不识别)

account required /lib/security/pam_userdb.so  db=/etc/vsftpd/vusers

2)使用虚拟用户或者本地用户

cp /etc/pam.d/vsftpd /etc/pam.d/vusers.pam

 

#%PAM-1.0

auth sufficient /lib/security/pam_userdb.so    db=/etc/vsftpd/vusers

account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vusers

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      password-auth

account    include      password-auth

session    required     pam_loginuid.so

session    include      password-auth

6创建虚拟用户映射的本地系统用户virtual并修改其权限

# useradd -s /sbin/nologin virtual

# ls -ldh /home/virtual/

drwx------. 4 virtual virtual 1.0K 4月   2 17:04 /home/virtual/

 

[root@localhost.localdomain ~]

# chmod 755 /home/virtual/

 

7修改vsftpd主配置文件

local_enable=YES              //启用本地用户即启用虚拟用户映射的系统用户virtual

guest_enable=yes             //启用虚拟用户

guest_username=virtual        //指定虚拟用户对应的系统用户

pam_service_name=vusers .pam  //指定pam认证文件

8为不同的虚拟用户创建独立的配置文件

1)创建存放配置文件的文件夹并写入vsftpd主配置文件

# vim /etc/vsftpd/vsftpd.conf 

user_config_dir=/etc/vsftpd/vusers_dir

# mkdir /etc/vsftpd/vusers_dir

2)创建one用户的配置文件并设置权限

[root@localhost.localdomain /etc/vsftpd/vusers_dir]

# vim one

 

anon_upload_enable=yes

anon_other_write_enable=yes

anon_mkdir_write_enable=yes

anon_umask=022

[root@localhost.localdomain /home/virtual]

3)one用户创建宿主目录并修改权限

# mkdir /home/virtual/one

[root@localhost.localdomain /home/virtual]

# chown virtual /home/virtual/one/

4)创建two用户的配置文件

# touch two

 

9启动vsftpd服务

# /etc/init.d/vsftpd start

为 vsftpd 启动 vsftpd:                                    [确定]

10测试

0 0
原创粉丝点击