linux之vsftpd虚拟用户搭建

vsftpd虚拟用户的配置过程

系统版本:Redhat 4.0

 
 1.安装软件包 
 
      #rpm -ivh /mnt/RedHat/RPMS/vsftpd......

 2.建立虚拟用户口令库文件
 
      #vi /etc/vsftpd/logins.txt (这里的文档名是自拟的)

      (注意 :口令库中用户及密码的格式 奇数为用户名 偶数行为密码)

      例如: user1
            user1.com
            user2
            user2.com.
   (注意用户名和密码的后面不要有空格 什么的 注意了 排错几乎不可能排的出来的 )

 3.生成vsftpd的认证文件 :

     #db_load -T -t hash -f logins.tst /etc/vsftpd/vsftpd_login.db

        vsftpd_login.db 数据库文件是根据口令库文件生成的 名字是自拟的 

        为了方便记忆通常写为 vsftpd_login.db
 
        数据库文件应放置在/etc/vsftpd/目录下


 vsftpd_login.db文件的权限应设置为只对root用户可读写 即 600
 
  #chmod 600 /etc/vsftpd/vsftpd_login.db

4.配置PAM认证 :(手工建立) 
     
     #vi /etc/pam.d/vsftpd.vu

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

 (注意 这里的 db=后面的文件一定是上面生成的vsftpd的认证文件的路径对应相对的文件)

5.建立虚拟用户及所要访问的目录并设置相应的权限

 #useradd -d /home/ftpsite jie
 #chmod   700 /home/ftpsite

vsftpd服务器中的所有虚拟用户帐号登陆后都将在 "/home/ftpsite"目录中

6.设置vsftpd.conf 配置文件 (在对vsftpd配置文件进行修改前,应将原有的文件进行备份)

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

   主配置文件中  加入  

      guest_enable=YES
      guest_username=jie   (虚拟用户)
      pam_service_name=vsftpd.vu  (PAM认证文件的名称第四步的)
  
       %%%%%%%(注意把下面的pam注释掉)********

7.重新启动服务

   #service vsftpd restart

@@@@

对不同的虚拟用户设置不同的权限

(1)设置主配置文件
 
 在vsftpd.conf配置文件中添加user_config_dir配置项,并设置用户配置文件的保存目录
 
  user_config_dir=/etc/vsftpd_user_conf (手工建立 虚拟用户配置文件)

(2)建立用户配置文件目录

 #mkdir /etc/vsftpd_user_conf

(3)为虚拟用户建立单独的配置文件

 在"/etc/vsftpd_user_conf"目录中可以为每个虚拟用户建立独立的配置文件,配置文件名称和用户名相同

anon_world_readable_only=NO  (用户可以浏览ftp目录和下载文件)
anon_upload_enable=YES       (用户可以上传东西)
anon_mkdir_write_enable=YES  (用户具有建立和删除目录的权利)
anon_other_write_enable=YES  (表示用户具有文件改名和删除文件的权限)


主配置中 chroot_local_user=YES 把本地用户禁锢在宿主目录中

你可能感兴趣的:(linux,ftp,休闲,虚拟用户,linux-vsftpd)