前言:
ftp有三种登录方式:匿名登录、本地系统用户登录和虚拟用户登录。
虚拟用户是ftp服务器的专用用户,它的特点是只能访问服务器为其提供的ftp服务,而不能访问系统的其它资源。所以,如果想让用户对ftp服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。在vsftp中,认证这些虚拟用户使用的是单独的口令库文件(pam_userdb),由可插入认证模块(pam)认证。使用这种方式更加安全,并且配置更加灵活。
1
2
3
4
5
<code>yum </code><code>install</code> <code>-y vsftpd</code>
<code>vi</code> <code>/etc/vsftpd/vsftpd</code><code>.conf </code><code>#开启用户登录认证</code>
<code>anonymous_enable=no</code>
<code>local_root=</code><code>/data</code>
<code>chroot_local_user=yes</code>
1.生成虚拟用户口令库文件(为了建立此口令库文件,先要生成一个文本文件。)
<code>vi</code> <code>/etc/vsftp/user_list</code><code>.txt</code>
<code>user1</code>
<code>pass</code>
<code>user2</code>
2.生成用户数据库
<code>db_load -t -t </code><code>hash</code> <code>-f </code><code>/etc/vsftpd/user_list</code><code>.txt </code><code>/etc/vsftpd/user_list</code><code>.db</code>
<code>chmod</code> <code>600 </code><code>/etc/vsftpd/user_list</code><code>.db</code>
3.创建虚拟用户pam文件
<code>vi</code> <code>/etc/pam</code><code>.d</code><code>/vsftpd</code><code>.vu</code>
<code>auth required </code><code>/lib64/security/pam_userdb</code><code>.so db=</code><code>/etc/vsftpd/user_list</code>
<code>account required </code><code>/lib64/security/pam_userdb</code><code>.so db=</code><code>/etc/vsftpd/user_list</code>
4.建立本地用户来映射虚拟用户
<code>useradd</code> <code>-s </code><code>/sbin/nologin</code> <code>vftp</code>
<code>chmod</code> <code>700 </code><code>/home/vftp</code>
5.启动虚拟用户并映射到本地用户
<code>vi</code> <code>/etc/vsftpd/vsftpd</code><code>.conf</code>
<code>guest_enable=yes</code>
<code>guest_username=vftp</code>
<code>pam_service_name=vftpd.vu</code>
6.默认虚拟用户都在vsftp家目录,需要设置指定的目录,添加虚拟用户配置文件位置
添加用户配置目录:
<code>user_config_dir=</code><code>/etc/vsftpd/vsftpd_user_conf</code>
<code>mkdir</code> <code>/etc/vsftpd/vsftpd_user_conf</code>
添加用户配置文件:
6
7
<code>vi</code> <code>/etc/vsftpd/vsftpd_user_conf/user1</code>
<code>local_root=</code><code>/ftp/share</code>
<code>write_enable=yes</code>
<code>anon_upload_enable=yes</code>
<code>anon_mkdir_write_enable=yes</code>
<code>anon_world_readable_only=no </code><code>#开放用户浏览、下载权限</code>
<code>anon_other_write_enable=yes </code><code>#重命名权限、续传,不建议开</code>
设置权限:
<code>chown</code> <code>vftp:root -r </code><code>/ftp/share</code>
<code>service vsftpd restart</code>
<code></code>