redhat8配置vsftpd服务

目录

一、匿名访问模式

1.1、ftp服务器端修改配置(配置文件:/etc/vsftpd/vsftpd.conf)

 1.2 修改ftp目录的权限

1.3 设置selinux服务对ftp服务的访问规则策略为允许

1.4 防火墙添加ftp服务

1.5 测试

二、本地用户模式

2.1  服务端修改配置文件(配置文件:/etc/vsftpd/vsftpd.conf)

2.2、创建用户并且设置相应的密码

2.3 测试

三、虚拟用户模式

3.1、建立虚拟ftp用户数据库文件

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

3.3、建立支持虚拟用户的PAM认证文件

3.4、修改配置文件(/etc/vsftpd/vsftpd.conf)

3.5、为虚拟用户设置不同的权限

3.6、重启服务

3.7 测试


一、匿名访问模式

1.1、ftp服务器端修改配置(配置文件:/etc/vsftpd/vsftpd.conf)

修改完配置之后,需要重启服务。命令:systemctl restart  vsftpd

#允许匿名访问模式
anonymous_enable=YES
#允许匿名用户上传文件
anon_upload_enable=YES
#允许匿名用户创建目录
anon_mkdir_write_enable=YES
#允许匿名用户修改目录名或删除目录    
anon_other_write_enable=YES

 1.2 修改ftp目录的权限

 可以看到修改之前,匿名用户的ftp根目录所有者/组都是root,所以匿名用户没有写入权限。所以需要修改所有者的权限为ftp。

1.3 设置selinux服务对ftp服务的访问规则策略为允许

1.4 防火墙添加ftp服务

firewall-cmd --zone=public --add-service=ftp --permanent
firewall-cmd --reload
firewall-cmd --list-all

1.5 测试

在客户端测试,客户端不在服务端,用宁外一个虚拟机测试。

在服务端的/var/ftp/pub查看


二、本地用户模式

2.1  服务端修改配置文件(配置文件:/etc/vsftpd/vsftpd.conf)

修改完配置文件之后,需要重启服务。命令(systemctl  restart vsftpd)

#禁止匿名用户访问模式
anonymous_enable=NO
#允许本地用户模式
local_enable=YES
#设置可写入权限
write_enable=YES
#本地用户模式创建文件的umask值
local_umask=022
#参数值为YES即禁止名单中的用户,参数值为NO则代表仅允许名单中的用户
userlist_deny=YES
#允许“禁止登录名单”,名单文件为ftpusers与user_list
userlist_enable=YES

2.2、创建用户并且设置相应的密码

useradd linuxprobe
passwd linuxprobe

2.3 测试

客户端测试(客户端创建的目录是在服务器的/home/linuxprobe下):

服务端测试

注意:因为我在匿名访问模式中配置了防火墙和selinux,所以,这里就没有再次配置了。如果没有的话,参照1.3和1.5配置防火墙和selinux。


三、虚拟用户模式

3.1、建立虚拟ftp用户数据库文件

[root@dns linuxprobe]# cd /etc/vsftpd/
[root@dns vsftpd]# ll
[root@dns vsftpd]# vim vuser.list

[root@dns vsftpd]# db_load -T -t hash -f vuser.list vuser.db   #使用db_load命令使用HASH算法生成ftp用户数据库文件vuser.db。
[root@dns vsftpd]# file vuser.db   #查看文件类型
[root@dns vsftpd]# chmod 600 vuser.db 
[root@dns vsftpd]# rm -rf vuser.list

vuser.list:

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

[root@dns vsftpd]# useradd -d /var/ftproot -s /sbin/nologin virtual   #创建virtual用户并指定家目录并设置为不允许登录系统。
[root@dns vsftpd]# ls -ld /var/ftproot/
[root@dns vsftpd]# chmod -Rf 755 /var/ftproot/

3.3、建立支持虚拟用户的PAM认证文件

[root@dns vsftpd]# vim /etc/pam.d/vsftpd.vu

3.4、修改配置文件(/etc/vsftpd/vsftpd.conf)

#禁止匿名开放模式
anonymous_enable=NO
#允许本地用户模式
local_enable=YES
#开启虚拟用户模式
guest_enable=YES
#指定虚拟用户账号
guest_username=virtual
#指定pam文件
pam_service_name=vsftpd.vu
#允许禁锢的ftp根目录可写而不拒绝用户登入请求
allow_writeable_chroot=YES
#指定用户独立的权限配置文件存放的目录
user_config_dir=/etc/vsftpd/vusers_dir

注意:字段不要重复了。就比如这里的pam_service_name=vsftpd.vu这个字段,原来的配置文件是有的,如果你在这里是重新写的,那么就需要把原本的注释掉或者删掉。

在最后第二排: 

3.5、为虚拟用户设置不同的权限

[root@dns ~]# mkdir /etc/vsftpd/vusers_dir
[root@dns ~]# cd /etc/vsftpd/vusers_dir/
[root@dns vusers_dir]# touch linuxlinux
[root@dns vusers_dir]# vim linuxhaha

3.6、重启服务

systemctl restart vsftpd

3.7 测试

客户端测试:

服务端查看:

注意:因为我在匿名访问模式中配置了防火墙和selinux,所以,这里就没有再次配置了。如果没有的话,参照1.3和1.5配置防火墙和selinux。

猜你喜欢

转载自blog.csdn.net/weixin_53308294/article/details/130350472