Centos 7.2安装FTP服务并进行相关设置
  V1JbpKy24E3u 2023年11月02日 37 0


关闭防火墙

#systemctl stop firewalld
#systemctl disable firewalld

关闭SELINUX

#vi /etc/selinux/config

修改为 ​​SELINUX=disabled​

Centos 7.2安装FTP服务并进行相关设置_虚拟用户

安装vsftpd服务
#yum -y install vsftpd
启动
systemctl start vsftpd
设置开机启动
systemctl enable vsftpd

由于刚刚设置了SELINUX,所以需要重启一下
#reboot

使用匿名 用户登陆

打开windows的文件管理器

输入 ​​ftp://ftp服务器的IP地址​

Centos 7.2安装FTP服务并进行相关设置_vsftpd_02

匿名用户登陆可创建 修改等权限

修改FTP目录权限

#chmod -R 757 /var/ftp/*

Centos 7.2安装FTP服务并进行相关设置_Linux_03

修改/etc/vsftpd/vsftpd.conf文件

修改第29行和33行,去除前面#注释符

anon_upload_enable=YES

anon_mkdir_write_enable=YES

Centos 7.2安装FTP服务并进行相关设置_配置文件_04


在末行添加如下代码

​anon_other_write_enable=YES 允许匿名用户修改目录名或删除目录​

Centos 7.2安装FTP服务并进行相关设置_重启_05

重启ftp
#systemctl restart vsftpd

再次使用windows资源管理器进行访问并创建文件夹

Centos 7.2安装FTP服务并进行相关设置_Linux_06

限制用户切换到主目录外

修改第101行和103行,将其前面#注释符去除

chroot_list_enable=YES  启用chroot_list_file设定的文件,限制指定的用户只能访问自己的主目录
chroot_list_file=/etc/vsftpd/chroot_list 指定受chroot控制的用户列表文件

Centos 7.2安装FTP服务并进行相关设置_配置文件_07


在/ect/vsftpd/vsftpd.conf末行添加

allow_writeable_chroot=YES  如果用户被限定在其主目录下,且目录有写入权限时,必须添加此项,开启chroot环境下的主目录写入权限

Centos 7.2安装FTP服务并进行相关设置_vsftpd_08


创建/etc/vsftpd/chroot_list文件
#vi /etc/vsftpd/chroot_list
输入一个用户 这里使用 testuser

Centos 7.2安装FTP服务并进行相关设置_重启_09

添加用户并设置用户密码,重启vsftpd服务后,使用 CMD窗口进行用户登陆 如下图

Centos 7.2安装FTP服务并进行相关设置_虚拟用户_10


测试是否能够切换:

Centos 7.2安装FTP服务并进行相关设置_虚拟用户_11


将“chroot_list_enable=YES”配置项修改为“chroot_list_enable= NO”,重启vsftpd,再次进行测试

Centos 7.2安装FTP服务并进行相关设置_重启_12

使用虚拟用户登陆FTP服务器

1、创建FTP虚拟用户数据库
#vi /etc/vsftpd/vuser.list 输入测试用户,格式如下
test1 #username
000000 #password
test2
000000

②调用db_load命令,运行哈希算法对原始文件进行加密运算生成新的db文件

db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vuser.db

Centos 7.2安装FTP服务并进行相关设置_虚拟用户_13


(可选)为安全起见,删除原有的虚拟用户文件

#rm -rf /etc/vsftpd/vuser.list

修改新生成的用户数据文件的权限为root用户读写权限

#chmod 600 /etc/vsftpd/vuser.db

Centos 7.2安装FTP服务并进行相关设置_vsftpd_14

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

#useradd -d /var/ftproot -s /sbin/nologin virtual

Centos 7.2安装FTP服务并进行相关设置_Linux_15


修改其用户组以及其他用户权限

#chmod -Rf 755 /var/ftproot/

Centos 7.2安装FTP服务并进行相关设置_Linux_16

3、创建虚拟用户的PAM认证文件
注意:参数db用于指向刚刚生成的vuser.db文件,但不要写后缀。

#vi   /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser

Centos 7.2安装FTP服务并进行相关设置_vsftpd_17

4、修改vsftpd配置文件,以支持虚拟用户模式

anonymous_enable=NO 禁止匿名开放模式    第12行
local_enable=YES 允许本地用户模式 第16行

Centos 7.2安装FTP服务并进行相关设置_重启_18


修改/etc/vsftpd/vsftpd.conf文件

修改,加上#注释符

#anon_upload_enable=YES     第29行
#anon_mkdir_write_enable=YES 第33行

Centos 7.2安装FTP服务并进行相关设置_重启_19


在文件末行修改,添加

guest_enable=YES  开启虚拟用户模式
guest_username=virtual 指定虚拟用户帐号
pam_service_name=vsftpd.vu 指定pam文件 第125行只需要修改不需要添加
allow_writeable_chroot=YES 允许禁锢的FTP根目录可写而不拒绝用户登入请求

Centos 7.2安装FTP服务并进行相关设置_重启_20

5、赋予虚拟用户权限

#mkdir /etc/vsftpd/vusers_dir/ //创建用户独立的权限配置文件存放的目录。

Centos 7.2安装FTP服务并进行相关设置_虚拟用户_21


#修改FTP的配置文件 vi /etc/vsftpd/vsftpd.conf //指定用户独立的权限配置文件存放的目录。

在文件末行添加如下内容

user_config_dir=/etc/vsftpd/vusers_dir

Centos 7.2安装FTP服务并进行相关设置_重启_22

创建虚拟用户test1的权限配置文件,不输入内容则无任何权限

#touch  /etc/vsftpd/vusers_dir/test1

Centos 7.2安装FTP服务并进行相关设置_配置文件_23


创建虚拟用户test2的权限配置文件,并添加上传,创建文件夹,和写入权限

#vi  /etc/vsftpd/vusers_dir/test2
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

Centos 7.2安装FTP服务并进行相关设置_配置文件_24

重启vsftpd服务

#systemctl restart vsftpd

Centos 7.2安装FTP服务并进行相关设置_虚拟用户_25

6、验证虚拟用户登陆,以及权限测试

在windows端打开CMD命令提示符,输入
ftp 192.168.100.20(你的FTP服务器地址)。如下
测试虚拟用户test1

Centos 7.2安装FTP服务并进行相关设置_配置文件_26


测试虚拟用户test2

Centos 7.2安装FTP服务并进行相关设置_vsftpd_27


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
V1JbpKy24E3u