使用vsftpd服务传输文件(匿名用户认证、本地用(2)

需要注意的是7版本需要在配置文件添加“allow_writeable_chroot=YES”参数才允许本地用户登录。 //允许对禁锢的FTP根目录执行写入操作,而且不拒绝用户的登录请求

1.禁锢宿主目录

若还希望将所有的宿主目录禁锢在其宿主目录中,可以添加chroot_local_user配置项,否则用户将能够任意切换到服务器的/var/、/etc/、/boot/等宿主目录以外的文件夹,这样一来便存在安全隐患。

chroot_local_user=YES //禁锢宿主目录

客户端测试:

550 Failed to change directory. 550 Failed to change directory. 221 Goodbye. 2.黑白名单

然而当使用root管理员登录后,系统提示如下错误信息:

Connected to ). ) Name (以root用户登录 Permission denied. Login failed.

这是因为vsftpd服务程序所在的目录中默认存放着一个名为“用户名单”的文件user_list,默认userlist_deny=YES,所以这个名单上出现的名字将不允许登陆到ftp服务器,也就是黑名单。

[root@RedHat6-2 ~]# cd /etc/vsftpd/ [root@RedHat6-2 vsftpd]# ls ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh [root@RedHat6-2 vsftpd]# vim user_list //查看user_list文件 # root bin daemon adm lp sync //这些用户默认不允许登录ftp服务器 shutdown halt mail news uucp operator games nobody 虚拟用户模式 第1步:

创建用于进行FTP认证的用户数据库文件,其中奇数行为账户名,偶数行为密码。

[root@RedHat6 rose abc123 jack abc123 [root@RedHat6 vuser.db: Berkeley DB (Hash, version , native byte-order) [root@RedHat6 [root@RedHat6 第2步:

创建vsftpd服务程序用于存储文件的根目录以及虚拟用户映射的系统本地用户。FTP服务用语存储文件的根目录指的是,当虚拟用户登录后访问的默认位置。

第3步:

建立用于支持虚拟用户的PAM文件vfstpd.vu,其中“db=”参数是使用db_load命令生成的账户密码数据库文件的路径。

auth required pam_userdb.so db=/etc/vsftpd/vuser account required pam_userdb.so db=/etc/vsftpd/vuser 第4步:

在vsftpd服务程序的主配置文件中通过pam_service_name参数将pam认证文件的名称修改为vsftpd.vu,再添加 guest_enable、guest_username参数。

anonymous_enable=NO //禁止匿名访问
guest_enable=YES //开启虚拟用户模式
guest_username=virtual //指定虚拟用户账户
pam_service_name=vsftpd.vu //指定PAM文件

第5步:

为虚拟用户设置不同的权限。先创建虚拟用户不同权限的配置文件的存放路径,在这个路径下再分别创建rose和jack命名的文件。

第6步:

再次修改vsftpd主配置文件,通过添加user_config_dir参数定义这两个虚拟用户不同权限的配置文件所存放的路径,重启vsftpd服务。

user_config_dir=/etc/vsftpd/vu_dir //单独用户配置文件

客户端测试:

Connected to ). ) Name ( Please specify the password. Password: Login successful. Remote system type UNIX. Using binary mode to transfer files. ftp> put anaconda-ks.cfg local: anaconda-ks.cfg remote: anaconda-ks.cfg ). 150 Ok to send data. 226 Transfer complete. 1498 bytes sent ) ftp> quit 221 Goodbye. [root@RedHat6 总用量 -rw-r--r--.

如何在Ubuntu 18.04 LTS上安装带有TLS的VsFTPD服务器  https://www.linuxidc.com/Linux/2018-10/154930.htm

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b577383c7d08b6093602e154518e34ca.html