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 用户可以读取这些文件 )
ftp:文本传输协议 http:超文本传输协议
ps:实验之前 vim /etc/sysconfig/selinux ,修改SELINUX=disabled;lftp和vsftpd不一样,vsftpd是服务端需要安装的服务,lftp是客户端需要安装的服务
500 | 文件系统权限过大 |
530 | 用户认证失败 |
550 | 服务本身功能未开放 |
553 | 本地文件系统权限过小 |
1.ftp的部署
yum install vsftpd -y ##提前配置好yum源
systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd --list-all
firewall-cmd --permanent --add-service=ftp ##让防火墙允许此传输协议
firewall-cmd --reload ##防火墙重读配置
用客户端主机测试连接
lftp 服务端ip
ls ##若不显示文件显示响应时间则不通,使用lftp连接时默认进入的是服务端的/var/ftp/
anonymous_enable=YES | 匿名用户是否可以登陆 |
---|---|
local_enable=YES|NO |
本地用户是否可以登陆 |
write_enable=YES|NO |
本地用户能否可写 |
anon_world_readable_only=YES|NO |
匿名用户是否可以下载 |
anon_other_write_enable=YES|NO |
匿名用户是否可以删除 |
anon_mkdir_write_enable=YES|NO |
匿名用户是否可以新建目录 |
2.匿名用户家目录的更改
vim /etc/vsftpd/vsftpd.conf ##设定家目录
lftp 172.25.254.168
ls ##查看家目录下的文件
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
systemctl restart vsftpd
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
ps:上传文件的时候必须在pub目录下,匿名用户是否可以上传的前提是本地用户可写
4.匿名用户最大上传速率的更改
anon_max_rate=102400 ##单位为bytes,改为100k
systemctl restart vsftpd
5.uamsk值的设置
vim /etc/vsftpd/vsftpd.conf ##修改umask值为644
systemctl restart vsftpd
6.限制本地用户浏览目录
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
测试:
vim /etc/vsftpd/vsftpd.conf ##编辑配置文件,参数修改为YES
chmod u-w /home/* ##去掉写的权限
systemctl restart vsftpd
测试:
7.用户黑白名单的设定
vim /etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/chroot_list ##编辑名单
systemctl restart vsftpd
测试:
vim /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd
测试:
8.用户黑白名单的设定
vim /etc/vsftpd/ftpusers ##设置永久黑名单
测试:
vim /etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/user_list ##编辑名单,此名单可以通过改变配置文件的参数来确定是黑名单还是白名单
systemctl restart vsftpd
测试:
测试:
1.创建虚拟帐号身份
yum install pam
vim /etc/vsftpd/userdb ##编辑用户信息,文件名自定义
db_load -T -t hash -f userdb userdb.db ##给用户信息文件加密,hash为加密方式,userdb为被加密文件,userdb.db为加密后生成的文件
vim /etc/vsftpd/ftpuser ##设定用户登陆认证方式,文件名自定
vim /etc/vsftpd/vsftpd.conf
测试:
2.虚拟用户家目录的分别指定
mkdir /ftpdir
mkdir /ftpdir/user{1..3}
touch /ftpdir/user1/file1
touch /ftpdir/user2/file2
touch /ftpdir/user3/file3
vim /etc/vsftpd/vsftpd.conf
测试:
3.虚拟用户ftp配置文件的独立设定
mkdir /ftpdir/user{1..3}/pub
vim /etc/vsftpd/vsftpd.conf
mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/userconf/user1
chgrp ftp /ftpdir/user1/pub
chmod 775 /ftpdir/user1/pub