#####ftp服务#####
1.ftp的启用
#要先搭建好yum源#
yum install vsftpd (相当于阿帕奇)
yum install lftp -y (相当于浏览器)
systemctl start vsftpd
systemctl enable vsftpd
firewall-cmd --permanent --add-service=ftp //更改防火墙设置为永久,启动服务ftp
firewall-cmd --reload //更改防火墙设置加载
设置内核配置 vim /etc/sysconfig/selinux
SELINUX=disabled —>getenforce查看
reboot
用浏览器测试:
ftp://172.25.254.142
##2.ftp的基本信息
访问数据端口:21
数据传输端口:>1024随机端口
默认发布目录: /var/ftp
访问方式
lftp 172.25.254.142 ##匿名登录 ---> /var/ftp
lftp 172.25.254.142 -u student ##用户登录 ---> /home/student
报错: 530是登录失败,能列出东西才可以登陆(密码错了,设置错了)
550是程序不允许
553是服务器文件系统不允许你写(权限过小)
500是权限过大
chmod 777 /var/ftp/会报500的错误
配置文件vim /etc/vsftpd/vsftpd.con
##3.ftp的安全部署
anonymous_enable=YES|NO ##匿名用户是否可以登录
local_enable=YES|NO ##本地用户是否可以登录
write_enable=YES|NO ##本地用户是否可写
##4.匿名用户
#匿名用户可写
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
systemctl restart vsftpd
#匿名用户可下载
anon_world_readable_only=YES
#匿名用户建立目录
anon_mkdir_write_enable=YES
#匿名用户是否可以删除和重命名
anon_other_write_enable=YES
#匿名用户家目录修改
anon_root=/diroctry
#匿名用户上传文件默认权限修改
anon_umask=xxx
get passwd 下载文件(下载到进入lftp之前所在的目录)
#匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=student
#最大上传速率
anon_max_rate=102400 ##单位为byte,102400为100k/s,速度!!限速是服务器长期稳定的保证
#最大链接数
max_clients=2
#本地用户家目录修改
local_root=/directory
#本地用户上传文件权限
local_umask=xxx
#限制本地用户浏览/目录
所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*
用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
vim /etc/vsftpd/chroot_list 用户临时黑名单
vim /etc/vsftpd/ftpusers 用户黑名单
用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
/etc/vsftpd/chroot_list 参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp
实验:
vim /etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/chroot_list
vim /etc/vsftpd/ftpusers
systemctl restart vsftpd
ftp虚拟用户的设定 创建虚拟帐号身份
vim /etc/vsftpd/cooffeefile
用户名
密码
db_load -T -t hash -f /etc/vsftpd/cooffeefile /etc/vsftpd/cooffeefile.db
vim /etc/pam.d/cooffee ##文件名称任意
account required pam_userdb.so db=/etc/vsftpd/cooffeefile
auth required pam_userdb.so db=/etc/vsftpd/cooffeefile
vim /etc/vsftpd/vsftpd.conf
pam_service_name=cooffee
guest_enable=YES
虚拟帐号身份指定
guest_username=ftpuser
chmod u-w /home/ftpuser
虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftphome/$USER
user_sub_token=$USER
mkdir /ftphome/ftpuser1/user1dir -p
mkdir /ftphome/ftpuser2/user2dir -p
虚拟帐号配置独立
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级高