linux基础学习【13】

FTP(File Transfer Protocol)

文本传输协议


ftp启用

yum install -y vsftpd ##安装服务
systemctl start vsftpd ##开启服务
systemctl enable vsftpd ##开机开启


安装成功

linux基础学习【13】


开启并设置开机启动

linux基础学习【13】


ftp基本信息

访问数据的端口:21
数据传输端口:>1024的随即端口
默认发布目录:/var/ftp
普通用户访问默认访问页面为家目录
匿名用户访问默认访问页面为/var/lftp/
访问方式:
lftp 172.25.254.100     ##当前用户登录
lftp 172.25.254.100 -u student  ##普通用户登录

vsftpd开放的21端口

linux基础学习【13】


匿名用户默认访问目录为/var/ftp/

linux基础学习【13】


普通用户默认访问目录为家目录

linux基础学习【13】


ftp的安全部署

错误报告:
500 权限过大
530 认证失败
550 服务本身不允许
553 文件系统权限过小

匿名用户上传

chmod 775 /var/ftp/pub      ##修改目录权限
chgrp ftp /var/ftp/pub      ##修改目录属组
vim /etc/vsftpd/vsftpd.conf ##修改配置文件
anon_upload_enable=YES      ##添加语句:允许匿名用户上传

默认无法上传

linux基础学习【13】


1.修改发布目录内目录权限及属组
2.配置文件修改后重启服务

linux基础学习【13】

3.匿名用户上传测试

linux基础学习【13】


匿名用户下载

anon_world_readable_only=NO

默认无法下载

linux基础学习【13】


1.修改配置文件

linux基础学习【13】


匿名用户新建目录

anon_mkdir_write_enable=YES

默认无法创建目录

linux基础学习【13】


 1.编辑配置文件添加语句

linux基础学习【13】


2.配置后重启
3.连接测试创建成功

linux基础学习【13】


匿名用户删除和重命名

anon_other_write_enable=YES

默认无法删除和重命名

linux基础学习【13】


1.编辑配置文件添加语句

linux基础学习【13】


2.配置后重启服务
3.连接测试重命名和删除成功

linux基础学习【13】


匿名用户默认访问目录

anon_root=/mnt

默认用户访问的目录为/var/ftp

linux基础学习【13】


1.配置文件添加语句,修改默认访问目录为/mnt

linux基础学习【13】


2.配置后重启服务
3.测试发现目录更改成功

linux基础学习【13】


匿名用户默认上传文件权限修改

anon_umask=xxx

1.配置文件中添加语句,设置匿名用户上传文件的umask值

linux基础学习【13】


2.配置后重启服务
3.测试上传文件权限为644(文件默认去除执行权限)

linux基础学习【13】


匿名用户使用的用户身份修改

chown_uploads=YES
chown_username=student

匿名用户默认的登入身份为ftp

linux基础学习【13】


1.修改配置文件,用户登入身份修改为student,并允许上传

linux基础学习【13】


2.配置后重启服务
3.上传测试uid=1000(student)

linux基础学习【13】
linux基础学习【13】

最大上传速率

anon_max_rate=102400    单位为字节

未限速时速度较快

linux基础学习【13】


1.配置文件添加语句,限速102400Byte/s(100KB/s)

linux基础学习【13】


2.配置后重启服务
3.测试上传速度稳定后约为100KB/s

linux基础学习【13】


最大链接个数

max_clients=x

 1.配置文件添加语句,限制最大连接1个

linux基础学习【13】


2.配置后重启服务
3.连接一个后开启另一个窗口尝试连接失败

linux基础学习【13】


本地用户家目录修改

local_root=/westos
功能与匿名用户限制相同,主要针对本机用户

本地用户上传文件权限

local_umask=xxx
功能与匿名用户限制相同,主要针对本机用户

家目录锁定

chroot_local_user=YES   ##需要去除用户对家目录的写权限
chmod u-w /home/*   ##去除用户对家目录的写权限 

未进行锁定前,用户可以跳出家目录访问其他位置

linux基础学习【13】


1.添加语句,开启家目录锁定,但要关闭用户对家目录的写权限
2.配置后重启服务,撤去student用户对家目录的写权限
3.测试,无法跳出家目录

linux基础学习【13】


家目录锁定的白名单/黑名单

chroot_list-enable=YES/NO
vim /etc/vsftp/chroot_list

1.配置文件中开启白名单

linux基础学习【13】


2.编辑白名单,添加student

linux基础学习【13】


3.重启服务,测试
4.student被锁定,leo可以访问其他位置

linux基础学习【13】


限制本地用户登录

vim /etc/vsftpd/ftpusers    ##永久黑名单
vim /etc/vsftpd/user_list   ##临时黑名单

在黑名单中添加leo

linux基础学习【13】


leo无法登入ftp

linux基础学习【13】


白/黑名单设定

userlist_deny=NO    ##user_list为白名单
userlist_dent=YES   ##user_list为黑名单

配置文件中添加语句,编辑/etc/vsftpd/user_list来确定限制对象。
NO时为白名单,YES时为黑名单

linux基础学习【13】


ftp虚拟用户的添加

vim /etc/vsftpd/vir_user    ##编辑用户账户和密码
user1   ##用户1
123 ##密码1
user2   ##用户2
123 ##密码2

创建用户数据库

linux基础学习【13】


db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.db      ##加密生成westos.db文件
vim /etc/pam.d/vir_user                             ##编辑对应pam配置文件
account     required    pam_userdb.so   db=/etc/vsftpdvir_user  ##账户
auth        required    pam_userdb.so   db=/etc/vsftpd/vir_user ##密码

配置pam文件

linux基础学习【13】


vim /etc/vsftpd/vsftpd.conf ##编辑服务配置文件
pam_service_name=vir_user       ##选择pam的服务名
guest_enable=YES        ##允许虚拟用户访问

linux基础学习【13】


1.创建用户数据库
2.更改配置文件
3.生成加密文件
4.配置pam文件
5.重启服务

linux基础学习【13】


6.测试

linux基础学习【13】


虚拟用户身份指定

guest_username=westos

1.配置文件中添加语句,指定虚拟用户登入身份为student

linux基础学习【13】


2.配置后重启服务
3.测试

linux基础学习【13】


虚拟用户家目录独立设定

vim /etc/vsftpd/vsftpd.conf     ##编辑配置文件
local_root=/ftphome/$USER       ##设定用户家目录
user_sub_token=$USER            ##识别$USER为用户名

mkdir -p /ftphome/user1/user1dir    ##创建用户家目录
mkdri -p /ftphome/user2/user2dir    ##创建用户家目录

1.添加配置文件,指定用户家目录

linux基础学习【13】


2.配置后重启
3.测试,家目录指定成功

linux基础学习【13】


虚拟用户独立配置

独立配置文件中没有写到的权限自动从vsftpd.conf中寻找

chgrp ftp /ftphome -R           ##更改属组
chmod 775 /ftphome/user1/user1dir   ##更改权限
chmod 775 /ftphome/user2/user2dir   ##更改权限

vim /etc/vsftpd/vsftpd.conf     ##编辑配置文件
user_config_dir=/etc/vsftpd/userconf    ##设定配置文件目录为userconf
mkdir -p /etc/vsftpd/userconf       ##创建配置文件目录

vim /etc/vsftpd/userconf/user1      ##编辑user1的配置文件
anon_upload_enable=YES          ##允许上传

允许tom上传

linux基础学习【13】


1.更改属组
2.更改目录权限
3.修改配置文件
4.编辑tom/jerry的单独配置文件

linux基础学习【13】


 5.重启服务后,测试tom可以上传

linux基础学习【13】

猜你喜欢

转载自blog.51cto.com/13992211/2313345