能够配置ftp服务的软件有很多,RHEL7中的ftp服务可由 vsftpd的软件来提供,软件名称中的vs 指very secure 的缩写,此软件具有较好的稳定性与安全性。
上节已经初步部署了ftp 服务环境(即下载 vsftpd 软件,安装后开启服务并设为自启,设置内核参数,之后更改放火墙策略,使允许此服务)
vsftp 的默认主目录为 /var/ftp ,其中已经有一个子目录 pub,可以把共享的文件放入此目录中。
安装 lftp 并重起vsftpd 服务
配置vstpd服务器
1.匿名登陆
允许匿名用户访问ftp ,可以在主配置文件 /etc/vsftpd/vsftpd.conf下设置。设置完成后需重启服务。
anonymous_enable=YES :表示允许匿名用户访问,YES表式允许,NO为ie不允许
local_enable=YES : 表示允许使用系统用户访问,YES表示允许。
write_enable=YES : 表示允许写入,此项设置仅仅是一个开关,要使匿名用户或系统用户具有写入权限还需要进行其他设置。
这里先保留默认设置。
lftp 172.25.254.177 使用匿名用户登陆 ls 显示登陆成功
2.匿名用户使用权限
在主配置文件下修改
anon_mkdir_write_enable=YES 允匿名用户创建目录
anon_other_write_enable=YES 允许匿名用户删除文件
anon_upload_enable=YES 允许匿名用户上传文件
anon_world_readable_only=NO 允许用户可以下载
anon_umask=022 设置匿名用户umask 值
修改完成后还需要使用户对ftp 主目录具有写权限,可根据情况更改
去客户端测试
《匿名用户只能在pub中操作,并且需要设置合适权限》
3.匿名用户身份修改
4.最大链接数
设置为5后,此服务器最多只能 5个人登陆
5. 设置匿名用户传输速率(字节)
6.本地用户家目录修改
7.限制本地用户浏览
所有用户被锁定到家目录
chroot_local_user=YES
chroot u-w /home/*
8.建立用户黑白名单
/etc/vsftpd/ftpusers 用户永久黑名单
/etc/vsftpd/user_list 用户临时黑名单
主配置文件中
主配置文件中如过 userlist_deny=NO ,那么名单中的用户可以登陆。
设置虚拟用户访问ftp
除了匿名用户和本地用户之外,还可以设置虚拟用户访问ftp ,虚拟用户是指独立于数据库文件中的ftp 用户帐号,可以将他们映射到某个不能登陆的系统拥护帐号上,以增强ftp 的服务器安全性。
1.建立一个文本格式的用户名密码列表,一般保存在 /etc/vsftpd/下,用于存放虚拟用户。
vim /etc/vsftpd/users
奇数行为用户,偶数行为密码。然后创建此文件的数据库文件
2.创建berkeley DB 格式数据库文件。
b _load 是固定用法,-T 表示允许其他应用程序使用文本格式转换的DB数据库文件,-t hash 指定读取数据文件的基本用法,-f 指定数据源文件。)
3.在 /etc/pam.d/下,建立新目录 ftpauth,自己添加名称。
vim /etc/pam.d/ftpauth
4.修改ftp配置文件,使ftp 支持虚拟用户,并重起服务。
5登陆尝试,出现报错500,权限过小
.
添加权限并查看登陆信息,此时以虚拟身份登陆成功。
6.在创建用户时,创建的本地用户会自动分配一个家目录,但是虚拟用户并没有自动分配,而是以本地用户所在位置,为了方便使用和安全考虑,要创建家目录。
(1)创建家目录
(2)添加配置文件内容
(3)重起服务并查看效果
此时家目录设置完成。
7.分配指定虚拟用户权限
先关掉配置文件的匿名用户上传权限以试探效果。
anon_upload_enable=NO
在 /etc/vsftpd 目录下新建目录并设置指定用户的权限文件
设置权限内容,添加可上传。
修改主配置文件,使使新建的权限文件生效,新建的设置文件优先级高.
修改后重起服务,测试修改效果,user1 可以上传,user 上传失败。