Centos7.4安装vsftpd

Centos7.4安装vsftpd

一、场景需求
1.公司内部需要一个类似于百度网盘的可存储视频、文档的软件,且需要领导具有管理员权限,技术人员需要可上传下载、可修改文件名、可新建文件权限,普通员工仅可下载。
用户名 权限说明

用户名权限说明
admin管理员,可以上传、下载、新建文件夹、删除和更改文件和文件夹名
upload可以下载、上传、新建文件夹,但不能重命名、删除文件和文件夹
Download只能下载,不能进行其他操作

2.为了数据安全,需要设置仅可内网进行访问。
为操作方便,需要通过文件存储位置(url)直接访问到对应的文件。

二、安装步骤
1.关闭防火墙和SElinux(生产环境开放21端口)

Systemctl stop firewalld &&setenforce 0

2.Yum安装vsftpd

yum -y install vsftpd

3.启动服务并设置开机自启

systemctl enable vsftpd
systemctl start vsftpd

4.修改配置文件,配置前先将配置文件进行备份呢
进到配置文件所在目录:cd /etc/vsftpd
备份配置文件:cp vsftpd.conf vsftpd.conf.bak
修改配置文件:vim vsftpd.conf
下面是修改后的配置,源文件存在的进行修改,没有的自行添加

anonymous_enable=NO #是否允许匿名登陆,默认YES为允许匿名登陆,需改为NO
local_enable=YES	#是否允许本地用户登陆了FTP服务器
write_enable=NO	#是否允许本地用户对FTP服务器具有写权限
local_umask=022	#掩码,本地用户默认掩码为077 可以根据实际需求配置
anon_umask=022	#掩码,虚拟用户的
anon_upload_enable=NO  #是否允许匿名用户上传文件,须将全局的write_enable=YES。默认为YES
anon_other_write_enable=NO  #修改文件名和删除文件
anon_mkdir_write_enable=NO  #是否允许匿名用户创建新文件夹
dirmessage_enable=YES  #是否显示目录说明文件, 需要手动创建.message文件   
xferlog_enable=YES    #是否记录ftp传输过程   
connect_from_port_20=YES   #是否确信端口传输来自20(ftp-data)   
xferlog_file=/var/log/xferlog   #传输日志存放路径
xferlog_std_format=YES		#是否使用标准的ftp xferlog模式
ftpd_banner=Welcome to blah FTP service. # 定制欢迎信息   
chroot_local_user=YES	# 本地用户禁锢在宿主目录中  
listen=IP	#设置vsftpd服务器是否以standalone模式运行
listen_address=192.168.1.25 #输入指定访问的ftp,只内网访问在此设置内网IP即可
pam_service_name=vsftpd #设置PAM使用的名称,默认值为/etc/pam.d/vsftpd
guest_enable=YES	#启用虚拟用户。默认值为NO
guest_username=ubftp #这里用来映射虚拟用户
user_config_dir=/etc/vsftpd/conf  #FTP用户的配置文件地址

5.创建一个不能登录系统的用户,用来做虚拟用户映射

useradd -s /sbin/nologin -d /home/ubftp -M ubftp

为此用户设置密码

passwd  ubftp

创建用户并设置密码
6.创建虚拟用户列表,分别是upload、download和admin

touch /etc/vsftpd/vu_list.txt
echo upload >>/etc/vsftpd/vu_list.txt
echo 123456 >>/etc/vsftpd/vu_list.txt
echo download >>/etc/vsftpd/vu_list.txt
echo 123456 >>/etc/vsftpd/vu_list.txt
echo admin >>/etc/vsftpd/vu_list.txt
echo 123456 >>/etc/vsftpd/vu_list.txt

7.查看虚拟用户列表内容
在这里插入图片描述
单行为用户名,双行为密码

8.此虚拟用户账号和密码不能被系统账户直接调用,需要创建用于系统认证的db文件

db_load -T -t hash -f /etc/vsftpd/vu_list.txt /etc/vsftpd/vu_list.db

创建该db文件需要db4支持,当前安装系统是带有的,若没有使用yum -y install db4 db4-devel db4-utils 进行安装
9.修改db文件的权限,防止被其他用户修改
在这里插入图片描述

10.配置PAM文件:由于服务器通过调用系统PAM模块来对客户端进行身份验证,因此需要修改指定的配置文件来调整认证方式。PAM模块的配置文件路径为:/etc/pam.d/,这个目录下存放只许多与用户认证有关的配置文件。在这里插入图片描述
编辑vsftpd文件,64位系统添加如下内容(32位只需将/lib64改为/lib)

auth       required     /lib64/security/pam_userdb.so   db=/etc/vsftpd/vu_list
account    required     /lib64/security/pam_userdb.so   db=/etc/vsftpd/vu_list

在这里插入图片描述
11.创建虚拟用户配置文件,根据需求进行配置相应的用户权限
在这里插入图片描述

anon_world_readable_only=NO 	#允许该用户在FTP服务器上阅读文档,设置为no仅下载
write_enable=YES #是否允许登陆用户有写权限。属于全局设置,默认值为YES
anon_mkdir_write_enable=YES  #允许该用户具有创建文件权限
anon_other_write_enable=YES  #允许该用户具有修改权限
anon_upload_enable=YES  #允许该用户拥有上传权限
local_root=/home/ubftp #当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录。

12.到/home下创建用户访问目录ubftp(这个目录是下载用户配置下面的,可自定义)
在这里插入图片描述
该目录是FTP的目录,客户端需要访问的目录需要在ubftp目录下继续新建一个目录。
13.客户端能访问的最高级目录 也就是FTP客户端的根目录,所有的操作都需要在此目录下才有权限。
该目录需要拥有读写权限,否则客户端登录后只能读
chmod 777 123 给123目录777权限
然后所属主和所属组需设置为root
在这里插入图片描述
14.注意事项:所有相关配置文件的所属组和所属组都建议设置为root
三、访问方式
第三方客户端FIleZilla 更直观
文件资源管理器 更方便
Web导航栏(仅IE和360浏览器的兼容模式可以访问FTP)不推荐
因为此设置为禁止匿名访问的主动模式,而各客户端默认都是被动模式,所以需要修改客户端的访问方式为主动模式。
1.FIleZilla访问设置
在这里插入图片描述
在这里插入图片描述
打开FIleZilla ——>点击右上角编辑——>选择设置——>选择FTP——>选择主动(A)——>确定
2.文件资源管理器访问配置
打开控制面板,选择网络和Internet
在这里插入图片描述

选择Internet选项

在这里插入图片描述
选择“高级” 然后下滑找到“使用被动FTP” 默认是勾选状态的,需取消勾选
在这里插入图片描述
然后点击“应用”并点击“确定”
3.使用FIleZilla访问
在这里插入图片描述

4.使用文件资源管理器访问
在这里插入图片描述
在这里插入图片描述
配置的三个用户都可以登录,经过测试,用户的各项权限均可满足需求。

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值