vftp的简单配置及虚拟用户的配置

vftp的简单配置及虚拟用户的配置

一、vsftpd安装及基本配置

①检查本机是否安装有vsftp

rpm –q vsftp

  • 如果没有安装

cd /media/Cen*/Cent*

rpm –ivh vsftp*(用TAB键补全)

  • 添加用户

[root@localhost ~]# adduser ftpuser

[root@localhost ~]# passwd ftpuser

Changing password for user ftpuser.

New UNIX password:

BAD PASSWORD: it is too simplistic/systematic

Retype new UNIX password:

passwd: all authentication tokens updated successfully.

[root@localhost ~]#

  • 修改主配置文件

vi /etc/vsftpd/vsftpd.conf

添加以下项

anonymous_enable=no       是否允许匿名用户登陆(默认配置中是YES,要不注释掉,要不改为no)

local_root=/home/ftpuser 指定用户访问的目录 (需要自己添加)

chroot_list_enable=YES   设置是否启用chroot_list_file(默认配置文件是注销了的)

chroot_list_file=/etc/vsftpd/chroot_list 设置用户列表文件,该文件中的用户不允许更改目录。被限制在根目录之内       (默认配置文件是注销了的)

  • 编辑 chroot_list 文件

vi etc/vsftpd/chroot_list

ftpuser

注意:chroot_local_user=YES 和chroot_list_enable=YES, chroot_list_file=/etc/vsftpd/chroot_list

同时添加和单独添加的作用是不同的。

当只使用chroot_local_user=YES的时候是限制所有的登录用户在自己设置的目录内

当只是用chroot_list_enable=YES, chroot_list_file=/etc/vsftpd/chroot_list 是限制chroot_list 中的用户被锁定在自己设置的目录内(本例在/home/ftpuser)

当两者同时使用时chroot_list中的用户不受目录限制 其他登录的用户会被限制目录。

  • 更改文件的权限

chmod –R 755 /home/ftpuser

重启服务就可以了 service vsftpd restart

二、配置虚拟用户和权限

1.添加用户

Useradd –s /sbin/nologin vuser

mkdir /var/ftp/vftp //创建ftp根目录为/var/ftp/vftp

2.创建用户和密码文件

创建用户和密码文件,然后用db4工具把用户名和密码转换成系统识别的格式。

vi vftpuser.txt //新建文件写入用户名和密码(装换成vtpuser.db可以删除)

注:第一行写用户名,第二行写密码,以此类推,要创建多少虚拟用户,依次写下去。

例如:

abc

123

cba

321

创建了两个用户abc和cba密码分别为123和321

接着使用工具将其转换,并且存放在适当的位置,如:、

db_load -T -t hash -f vftpuser.txt /etc/vsftpd/vftpuser.db //将密码文件保存到/etc/vsftpd/

命名为vftpuser.db。(注意vftpuser.db一定要保存在/etc/vftpd/目录下)

注意:此时如果没有安装db4工具会出现错误。

解决方法:安装rpm的db4、db4-util包

3.配置PAM验证文件

修改 /etc/pam.d/vsftpd

在下面添加如下两行,其他全部注释掉。

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

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

注意这里是vftpuser,不是vftpuser.db

4.新建针对虚拟用户的配置文件

mkdir –p /etc/vsftpd/vuser_conf

vi /etc/vsftpd/vuser_conf/abc //创建名为abc的控制文件。

local_root=/var/ftp/vftp       //abc这个用户登陆上来的家目录是/var/ftp/vftp

anon_upload_enable=YES       //允许上传

anon_mkdir_write_enable=YES   //允许创建目录

anon_other_write_enable=YES   //允许删除文件和目录

同样创建cba的配置文件。

5.修改vsftpd.conf

启用和添加修改如下选项:

pam_service_name=vsftpd //用vsftpd里的脚本做pam验证

tcp_wrappers=YES //开启ip控制

chroot_local_user=YES //锁定用户根目录

guest_enable=YES //开启虚拟账户

guest_username=vuser //虚拟账户使用vftp(刚才建的系统账户)映射

user_config_dir=etc/vsftpd/vuser_conf //虚拟账户的控制文件路径

6.修改ftproot的权限

Chown –R vuser.vuser /var/ftp/vftp

Chmod –R 755 /var/ftp/vftp

重启vsftpd服务即可。

Leave a Reply

Your email address will not be published. Required fields are marked *