lftp 客户端软件——浏览器;vfsftp 服务软件
ftp启用
#下载vsftpd,lftp
yum install -y vsftpd
yum install -y lftp
systemctl start vsftpd
systemctl enable vsftpd
#防火墙设置:
firewall-cmd --permanent -add-service=ftp
firewall-cmd --reload
#关闭selinux
vim /etc/sysconfig/selinux
####
SELINUX=disabled
####
reboot #内核级防火墙更改设置需要重启
#重启过程会比较慢,因为要重新读取这段数据
ftp基本信息
netstat -antulpe | grep vsftpd #查看端口
ftp访问数据的端口:21
ftp数据传输端口:>1024的随机端口
ftp的默认发布目录:/var/ftp
访问方式:
lftp 172.25.254.100 #匿名用户登录/var/ftp
lftp 172.25.254.100 -u student #登陆到100主机中的student用户的家目录中(/home/student)
ls可以看见才算登陆成功
vsftpd服务的配置文件:/etc/vsftpd/vsftpd.conf(rpm -qc 服务名——可以查看服务的相关配置文件)
ftp安全部署报错:
530 认证失败
500 权限过大
550 服务本身不允许 改配置文件
553 文件系统权限过小
ftp改配置文件
配置文件
vim /etc/vsftpd.conf
每次更改后要重启服务
systemctl restart vsftpd.service
匿名用户上传——put
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
anon_upload_enable=YES
write_enable=YES
匿名用户下载——get
anon_world_readable_only=NO
匿名用户建立目录
anon_mkdir_write_enable=YES
匿名用户删除和重命名
anon_other_writer_enable=YES
匿名用户家目录修改
anon_root=/westos
匿名用户默认上传文件权限修改
anon_umask=xxx
匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=student
最大上传速率
anon_max_rate=102400 #以字节为单位 102400=100k
dd if=/dev/zero of=/mnt/bigfile bs=1M count=2000
最大链接个数
max_clients=5 #只能有五个人能链接服务
本地用户可以登陆
local_enable=YES
本地用户家目录修改
local_root=/westos
本地用户上传文件权限
local_umask=022
ftp对本地用户是否可写
write_enable=NO
本地用户上传文件权限
local_umask=xxx
家目录锁定所有用户
chroot_local_user=YES #大家都可以切换到除自己家目录以外的地方
上边一句要求一定要去掉自己对家目录的写权限(否则报错为500);
chmod u-w /home/*
黑名单建立
chroot_local_user=NO #大家都不可以切换得到除自己家目录以外的地方
chroot_list_exable=YES
chroot_list_file=/etc/vsftpd/chroot_list #自己建写入黑名单
白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #自己建写入白名单
限制本地用户登陆
vim /etc/vsftpd/ftpusers
vim /etc/vsftpd/user_list
ftpusers #永久黑名单——不管怎样都不能登入ftp
user_list #临时黑名单——有可能是白名单有可能是黑名单(取决于配置文件)
用户白名单设定
userlist_enable=YES #user_list名单生效
userlist_deny=NO #白名单
用户黑名单设定
userlist_enable=YES
userlist_deny=YES #黑名单
ftp虚拟用户的设定
vim /etc/vsftpd/westos #文件名称任意
####
user1
123
user2
123
####
db_load -T -t hash -f /etc/vsftpd/westos /etc/vsftpd/westos.db #加密密码
pam #虚拟用户验证
vim /etc/pam.d/westos 文件名称任意
####
account required pam_usrdb.so db=/etc/vsftpd/westos
auth required pam_usrdb.so db=/etc/vsftpd/westos
####
vim /etc/vsftpd/vsftpd.conf
####
pam_service_name=westos
guest_enable=YES
guest_username=ftp
userlist_enable=YES
tcp_wrappers=YES
####
虚拟用户身份指定
guest_username=用户名 #以某一个用户登陆
虚拟用户家目录独立设定
vim /etc/vsftpd/vsftpd.conf
####
local_root=/ftphome/$USER #ftp下的用户
user_sub_token=$USER
####
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/user2dir -p
两个虚拟用户自己有自己的家目录
虚拟用户独立配置
chgrp ftp /ftphome -R
chmod 775 /ftphome/user1/user1dir
chmor 775 /ftphome/user2/user2dir
vim /etc/vsftpd/vsftpd.conf
####
user_config_dir=/etc/vsftpd/userconf
####
mkdir /etc/vsftpd/userconf
cd userconf
vim user1
#####
举例:anon_upload_enable=YES
#####