SUSE11下配置vsftpd虚拟用户

 

            环境与软件

                  SUSE Linux Enterprise Server 11 (x86_64)

                  vsftpd-2.0.7-4.17.1.x86_64.rpm

修改vsftp配置文件参数(/etc/vsftpd.conf)

    anonymous_enable=NO

    local_enable=YES

    chroot_list_enable=YES  #将chroot_list 中列出来的用户转到其在user_config_dir下面定义的文件中定义的目录,NO:就是系统用户的默认目录

   chroot_list_file=/etc/vsftpd/chroot_list   #这是我们放置chroot用户的文件,后面我们要建立

增加vsftp配置文件参数(/etc/vsftpd.conf)

   user_config_dir=/etc/vsftpd_user_conf  #虚拟用户的配置文件的主目录,后面我们建立虚拟用户时建立此目录
   guest_enable=YES
   guest_username=virtual     #虚拟用户映射的系统用户,后面我们要建立

重新启动ftp server:/etc/init.d/vsftpd restart

修改pam验证(/etc/pam.d/vsftpd,这个文件名与(/etc/vsftpd.conf中的pam_service_name=vsftpd相对应)

  注释掉所有参数,在最前面加入下面两行

  auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login #/vsftpd_login是要建立的验证文件,真正的文件是vsftpd_login.db,这里不能有后缀

  account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login  #机器是64位,如果是32位的,用lib取代

创建系统用户(guest_username=virtual),也可以使用已有的系统用户

                              useradd -d /ftp_server/ virtual   
               创建虚拟用户

 vi /etc/vsftpd/logins.txt
以下是logins.txt的内容(奇数行为用户名,偶数行为密码)
download
download
admin
upanddownadnwrite

编译虚拟用户信息

              db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db  #对应/etc/pam.d/vsftpd中信息

增加chroot_list信息(就是虚拟用户名,如果没有此用户,目录会落在virtual建立时指定的目录)

               vi /etc/vsftpd/chroot_list

               以下是chroot_list的内容

               download

               admin
增加虚拟用户自定义信息,文件名字与虚拟用户名一致( user_config_dir=/etc/vsftpd_user_conf ,如果此目录下没有用户的,就使用/etc/vsftpd.conf的默认配置)

download 文件内容:

local_root=/ftp_server/download  #指定这个用户的家目录地址,注意建立的目录一定要放开读写权限,chmod o+rw 目录名
write_enable=YES
download_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
 

admin文件内容:
 local_root=/ftp_server/admin  #指定这个用户的家目录地址,注意建立的目录一定要放开读写权限
write_enable=YES
download_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022

 补充:

vsftpd的配置文件有三个,分别是
/etc/vsftpd/vsftpd.conf
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list
其中,/etc/vsftpd/vsftpd.conf是主配置文件。/etc/vsftpd.ftpusers中指定了哪些用户不能访问FTP服务器。/etc/vsftpd.user_list中指定的用户默认情况(即在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=YES)下也不能访问FTP服务器,当在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=NO时,仅仅允许/etc/vsftpd.user_list中指定的用户访问FTP服务器。

阅读更多
个人分类: linux
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭