1、ftp服务定义:FTP是FileTransfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上
的控制文件的双向传输。
2、ftp协议提供的软件
在rhel7中的名字是vsftpd
3、部署ftp服务
yum instll vsftpd -y
systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
yuminstall lftp
在浏览器测试:ftp://172.25.254.100
ftp服务的基本信息
(1)软件安装包:vsfgtpd
(2)默认发布目录:/var/ftp
(3)协议接口:主动21被动>1024 ss antlpe |grep vsftpd 查看端口
(4)服务配置文件:/etc/vsftpd/vsftpd.conf,通过修改相对应的参数,实现相关功能,配置完systemctl restart vsftpd重
启服务,即可。
(5)基本报错解析:
500文件系统权限过大
530用户认证失败
550服务本身未开放
553本地文件系统权限过小
aninymous enable=YES|NO --匿名用户是否可以登陆
write_enable=YES|NO ---是否对登陆用户可写
anon_upload_enable=YES ---允许匿名用户上传
<1>允许匿名用户登陆,并上传文件与进行写操作
在修改好配置文件爱后执行以下操作即可进行测试
chgrpftp /var/ftp/pub
chmod 775 /var/ftp/pub
<2>不允许匿名用户登陆
<3>local_enable=YES|NO ---本地用户是否可以登陆
不允许登陆:
允许登陆:
<4>
anon_root=/../.. ---修改匿名用户家目录
anon_umask=xxx ---修改匿名用户上传文件默认权限
anon_mkdir_write_enable=YES|NO ---匿名用户建立目录
anon_world_readable_only=YES|NO ---NO表示匿名用户可以下载
anon_other_write_enable=YES|NO ---匿名用户删除,注意,其只能删除自己上传的文件
<5>
chown_uploads=YES ---匿名用户使用的身份修改
chown_username=student
anon_max_rate=102400 ---最大上传速率限制1M
<6>
max_clients=2 ---最大连接数目
local_root=/../.. ---修改本地用户家目录
chroot_local_user=YES ---所有用户被锁定到自己家目录
此测试需要更改家目录权限
chmodu-w /home/*
<7>用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
<8>用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
<9>限制本地用户登陆(默认情况下ftpusers和user_list都是黑名单)
vim/etc/vsftpd/ftpusers ---用户黑名单
vim/etc/vsftpd/user_list ---用户临时黑名单
用户白名单设定
userlist_deny=NO ---名单功能反转
/etc/vsftpd/user_list ---参数设定,此文件变成用户白名单
<10>ftp虚拟用户的设定
创建虚拟帐号身份:
(1)vim/etc/vsftpd/loginusers ---创建用户密码
username1
passwd1
username2
passwd2
....
(2)db_load-T -t hash -f /etc/vsftpd/westosfile /etc/vsftpd/westosfile.db ---加密
(3)vim/etc/pam.d/westos
account required pam_userdb.so db=/etc/vsftpd/westosfile ---设定vsftp服务调用的插件来鉴别用户
auth required pam_userdb.so db=/etc/vsftpd/westosfile
(3)vim/etc/vsftpd/vsftpd.conf
pam_service_name=ftp ---以什么身份登陆
guest_enable=YES
<11>匿名用户在各自目录
1、mkdir-p /ftphome/username{1..5} --- -p递归建立目录,名字和用户名保持一致
2、touch/ftphome/username{1..5}/file
...
3、vim/etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER ---设置用户登陆目录
user_sub_token=$USER ---调用本机环境变量
<12>指定用户上传文件
1、vim/etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/name ---设定读取目录
2、vim/etc/vsftpd/name/username ---设定可以上传的用户
anon_upload_enable=YES ---上传