FTP虚拟用户的建立

 

 

为什么要使用虚拟用户:

 

 

 

        匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用户的权限管理不够灵活.如果想对访问FTP的帐户给予更多的权限,就可以用本地帐户来实现.但是,本地帐户默认情况下是可以登陆Linux系统的,这样对Linux系统来说是一个安全隐患.那么怎么能在灵活的赋予FTP用户权限的前提下,保证FTP服务器乃至整个Linux系统的安全呢?使用虚拟用户就是一种解决办法.

 1 建立虚拟用户数据库文件,建立虚拟用户的账号,密码表:

#vim /etc/vsftpd/vusers.list (奇数行为账号,偶数行为上一行对应的用户密码)

   数据格式转换(需要安装db4—utils软件)

#yum install db4—utils -y

#cd /etc/vsftpd

 

 

用刚才建立的虚拟用户口令库文件生成FTP服务器的认证文件.该认证文件是一个被加密后的密文.PAM在调用相应的认证模块后,会对从FTP服务器发来的用户名和密码进行加密,然后在跟该文件进行对比,发现相符条目后,登陆用户才会被允许登陆.

 

#db_load -T -t hash -f vusers.list vusers.db

 (Ps:很多朋友会遇到db_load命令无法执行的现象,这个是因为FC6(i386)中默认可能只安装了db4-4.3.29-9.fc6.i386.rpm和db4-devel-4.3.29-9.fc6.i386.rpm要使用db_load需要将位其他几张光盘中的db4-java-4.3.29-9.fc6.i386.rpm\db4-tcl-4.3.29-9.fc6.i386.rpm\db4-utils-4.3.29-9.fc6.i386.rpm安装上)

  修改权限

#chmod 600 /etc/vsftpd/vusers.*

2 创建ftp根目录及虚拟用户映射的系统用户

#mkdir /var/ftproot

#useradd -d /var/ftproot -s /sbin/nolongin wo

#chmod 755 /var/ftproot

3 建立支持虚拟用户的PEM认证文件

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

 添加:

 auth required pam_userdb.so db=/etc/vsftpd/vusers

 account required pam_userdb.so db=/etc/vsftp/vusers

4 在vsftpd.conf中添加需要支持的配置信息

#vim /etc/vsftpd/vsftpd.conf

  anonymous_enabl=YES

  local_enable=YES

  write_enable=YES

  anon_umask=022

  guest_enable=YES

  guest_username=wo  (第二步建立的系统用户)

  pam_service_name=vsftpd.vu  (第三步中建立的/etc/pam.d/vsftpd.vu)

 

5 为个别虚拟用户建立独立的配置文件(默认情况下,虚拟用户拥有相同的权限,就是virtual的权限,我们可以根据实际需求对不同的虚拟用户分配权限

在vsftpd.conf 文件中添加用户配置目录支持

# vim /etc/vsftpd/vsftpd.conf    添加如下内容

  user_config_dir=/etc/vsftpd/vusers_dir 

# mkdir /etc/vsftpd/vusers_dir (文件名和路径都可以自己定义)

在该目录内创建与用户名相同的配置文件

 

 

 

 

# cd /etc/vsftpd/vusers_dir

 

# vim 虚拟用户名  (文件名要与虚拟用户名相同

  anon_upload_enable=YES

  anon_mkdir_write_enable=YES

6 重新启动vsftpd服务(重新读取配置信息)

#service vsftpd restart

7 使用虚拟FTP账户进行访问测试

 分别用刚刚建立的虚拟用户进行登录访问验证

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