FTP ( 文件传输协议 ) 是 INTERNET 上仍常用的最老的网络协议
之一 , 它为系统提供了通过网络与远程服务器进行传输的简单方法
在 RED HAT ENTREPRISE LINUX 6 中。 FTP 服务器包的名
称为 VSFTPD , 它代表 Very Secure File TransferProtocol
Damon 服务器名称也叫做 vsftpd
默认配置文件让 ANONYMOUS 用户只能下载位于 CHROOT 目
录中的内容。 /var/ftp/ 这意味着远程 FTP 客户端能以用户
anonymous 或 ftp 身份连接到服务器 ( 无需密码 ), 并从 ftp
服务器上的 /var/ftp/ 目录下载文件 ( 其本地 ftp 用户可以读取这
些文件 )
我们可以通过设置它的配置文件来完成一系列的操作来达到自己想要的效果,来保护自己的文件同时来分享自己自己想去分享的文件。
首先我们要有至少一台真机。来检验是否达到效果。
服务端:
安装vsftpd包
安装httpd包
yum install vsftpd -y
启动服务并设置为开机自启同时关闭防火墙,设置为开机不启动
systemctl start vsftpd
systemctl stop firewalld
systemctl enable vsftpd
syatemctl disable firewalld
客户端:
下载安装lftpd包
yum install -y lftp
连接服务端:
lftp 服务端IP
可以连接并可以使用ls命令列出默认的pub文件即成功安装服务 ,接下来就是细节的配置问题。
登录分为两种登录,其中加参数为服务端用户登录,
不加参数为匿名登录。
可以设置vsftpd服务的配置文件来设置这两个的权限问题。
(所有设置更改后需要重启服务来更新修改,客户端须退出后才会生效,服务的重启就不再赘述)
还可以开启服务端用户登录的功能,登录后到达自己的家目录下,但是需要对用户的权限进行一个设置,所以我们需要更改它的家目录的权限来到大自己想要的结果。(这是因为linux的内核级的防火墙selinux的权限,同时伴随着这个问题,还有一个显著的问题就是它可以对服务端主机的根目录进行访问,并作出一定的修改,从而导致安全隐患的发生,我们目前的学习可以暂时关闭selinux来达到自己想要的效果,但是之后的话,自己还是慢慢来吧,关闭selinux的同时也意味着自己的计算机不是那么的安全)
我们有了vsftp的服务之后,我们可以共享一些资源,可以上传下载,这才是我们想要的结果。
1.匿名用户的上传:
需要注意的是我们的匿名用户登录默认的身份为ftp,所以。我们要把访问的路径下创建一个拥有者为ftp的文件创建创一个文件。还要把文件的权限改为755,最重要的是关闭selinux。
2.还可以为匿名用户创建一个文件夹,可以创建在任意的根目录下
还可以修改用户的目录,使用下列语句。
Local_root=/文件路径
3.默认匿名用户不能下载文件,但是可以修改文件来下载。
4.超级用户还可以修改配置文件来让匿名用户登录改变身份。使用下列语句
chown_uploads=YES
chown_username=student
chown_uploads_mode=0644
登录后,转到student的目录下。
5.最大链接数
max_clients=最大连接数
设置后,访问达到上限之后不可再登录。
如上图设置
6.限制本地用户登录
local_enable=YES|NO ##本地用户登陆限制
write_enable=YES|NO ##本地用户写权限限制
与匿名用户类似。一个可以登录都可以登录,一个不可以都不可以。
7.限制本地用户的浏览权限
chroot_local_user=YES
chmod u-w /home/*
两步之后,用户只能在自己的家目录访问,之前可以到根目录访问。
8.vsftp的黑白名单服务
黑名单的建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
通过修改这两个文件可以设置用户的权限
9.限制本地用户登陆的名单
vim /etc/vsftpd/ftpusers 用户黑名单
vim /etc/vsftpd/user_list 用户临时黑名单
用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list 参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp
user_list默认为黑名单
10.创建虚拟帐号身份
A)有一个文件来保存帐号,只有ftp登录时可用,系统本身并没有。
奇数行为用户名,偶数行为密码
B)使用哈希算法来加密保的文件
db_load -T -t hash -f /etc/vsftpd/virtual_user /etc/vsftpd/virtual_user.db
C)
vim /etc/vsftpd/vsftpd.conf
pam_service_name=ckvsftpd
guest_enable=YES
设置不同匿名用户登陆到的文件家目录
D)之后可以使用匿名用户登陆。