LINUX---ftp服务

ftp服务

##1.ftp的启用##
先修改yum源
cd /etc/yum.repos.d
ls
vim rhel_dvd.repo
改ip为有网络共享yum源地址的ip
这里写图片描述
这里写图片描述

vim /etc/sysconfig/selinux
disabled ##关闭selinux服务,令用户拥有访问权限
这里写图片描述
这里写图片描述
reboot ##更改 后重启
getenforce ##查看selinux服务状态
这里写图片描述
yum install vsftpd ##安装vsftpd服务
这里写图片描述
systemctl start vsftpd ##启用服务
systemctl enable vsftpd ##开机自启
这里写图片描述
firewall-cmd –permanent –add-service=ftp ##设定防火墙允许执行ftp服务
firewall-cmd –reload ##重新加载防火墙
这里写图片描述
测试: ftp://172.25.254.156
这里写图片描述

##2.ftp的基本信息##
访问数据端口:21
数据传输端口:>1024随机端口
默认发布目录: /var/ftp
访问方式
lftp 172.25.254.100 ##匿名登陆 —>/var/ftp
lftp 172.25.254.100 -u student ##用户登陆 —>/home/student
这里写图片描述
配置文件:
/etc/vsftpd/vsftpd.conf

##3.ftp的安全部署##
这里写图片描述
annoymous_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|NO ##设定参数值为no表示匿名用户可以下载
匿名用户建立目录:anon_mkdir_write_enable=YES|NO
匿名用户删除和重命名:anno_other_write_enable=YES|NO
匿名用户加目录修改:anon_root=/directory
匿名用户上传文件默认权限修改:anon_umask=xxx
匿名用户使用的用户身份修改:chowm_uploads=YES ; chown_username=student
最大上传速率:anon_max_rate=102400
最大链接数:max——clients=2

##5.本地用户设定##

本地用户写权限设置:write_enable=YES|NO
本地用户加目录修改: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/ftpusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户领事黑名单

用户白名单设定:
userlist_deny=NO
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,
只载名单中出现的用户可以登陆ftp

6.ftp虚拟账户的设定

创建虚拟帐号身份:
vim /etc/vsftpd/users ##文件名称随意
user1
123
user2
123
这里写图片描述
这里写图片描述
hash算法加密:
db_load -T -t hash -f /etc/vsftpd/users /etc/vsftpd /users.db
这里写图片描述
建立支持虚拟用户认证的文件:
vim /etc/pam.d/userscheck ##文件名称随意
account required pam_userdb.so db=/etc/vsftpd/users
auth required pam_userdb.so db=/etc/vsftpd/users
这里写图片描述
这里写图片描述

vim /etc/vsftpd/vsftpd.conf
pam_service_name=userscheck
guest_enable=YES
虚拟帐号身份指定
guest_username=ftp
虚拟帐号家目录独立设定
local_root=/ftphome/$USER

user_sub_token=$USER
这里写图片描述
这里写图片描述
在user1和user2下建立自己的目录
这里写图片描述
测试:虚拟帐号家目录独立
这里写图片描述