Linux中的FTP服务

FTP服务的部署

服务端:

yum install vsftpd -y ---- 通过yum源下载vsftpd服务

systemctl start vsftpd ---- 启动vsftpd服务

systemctl enable vsftpd

firewall-cmd --permanent --add-service=ftp ----火墙加入ftp功能,或直接关闭火墙

firewall-cmd --reload

客户端:

yum install lftp -y ---- 通过yum源下载lftp服务

可在浏览器中测试ftp服务是否开启

Linux中的FTP服务_第1张图片

基本报错信息:

500 ----文件系统权限过大

530 ---- 用户认证失败

550 ----服务本身未开放

553 ---- 本地文件系统权限过小

 

服务配置文件

/etc/vsftpd/vsftpd.conf  通过修改相对应的参数,实现相关功能,配置完systemctl restart vsftpd重启服务

 

做实验时,确保两个端的selinux为disable状态

getenforce ---- 查看selinux状态

/etc/selinux/config ---- selinux配置文件

Linux中的FTP服务_第2张图片

 

lftp相关功能

匿名用户登陆 ---- lftp 服务端IP

指定用户登陆 ---- lftp 服务端IP -u username

1.允许匿名用户登陆,并上传文件与进行写操作

aninymous enable=YES|NO --匿名用户是否可以登陆

write_enable=YES|NO ---是否对登陆用户可写

anon_upload_enable=YES ---允许匿名用户上传

在修改好配置文件爱后执行以下操作即可进行测试

chgrpftp   /var/ftp/pub

chmod 775 /var/ftp/pub

  • 在执行上述操作后,匿名用户成功登陆服务端并能够上传文件

Linux中的FTP服务_第3张图片
2.不允许匿名用户登陆

aninymous enable=YES|NO --匿名用户是否可以登陆

  • 设定匿名用户不可登陆,匿名用户已经连接不上服务端

3.本地用户是否可以登陆

local_enable=YES|NO ---本地用户是否可以登陆

  • 设定本地用户不可登陆,修改配置文件前可正常登陆,重启服务后,已经不能登陆

Linux中的FTP服务_第4张图片修改配置文件后,本地用户不能登陆

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 ----匿名用户删除,注意,其只能删除自己上传的文件

  • 修改配置文件后,匿名用户可新建目录,下载,删除自己上传文件

Linux中的FTP服务_第5张图片Linux中的FTP服务_第6张图片

5.匿名用户限制速度与改变身份

chown_uploads=YES ---- 匿名用户使用的身份修改

chown_username=student

anon_max_rate=102400 ---- 最大上传速率限制1M

  • dd命令指定大小拷贝文件,这里截取一段设备文件进行上传实验

Linux中的FTP服务_第7张图片

  • 没有修改配置文件时,文件上传速度达到157M/s

Linux中的FTP服务_第8张图片

  • 修改配置文件限制上传速度100kb/s,重启服务后,上传速度有所限制

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

  • 建立黑名单,限制123456用户登陆

Linux中的FTP服务_第9张图片

8.用户白名单建立

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

Linux中的FTP服务_第10张图片

9.创建虚拟帐号身份

vim /etc/vsftpd/loginusers    文件名称任意,内容如下:

ftpuser1
123
ftpuser2
123
ftpuser3
123

db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db 加密文件

vim /etc/pam.d/abcdefg    文件名称任意   认证时看这个文件,内容如下:

account      required     pam_userdb.so    db=/etc/vsftpd/loginusers
auth            required     pam_userdb.so    db=/etc/vsftpd/loginusers

vim /etc/vsftpd/vsftpd.conf

添加:
pam_service_name=abcdefg
guest_enable=YES

Linux中的FTP服务_第11张图片

10.虚拟帐号身份指定

vim /etc/vsftpd/vsftpd.conf

guest_username=ftpuser

chmod 555 /home/ftpuser

Linux中的FTP服务_第12张图片

11.虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf

添加:
local_root=/ftpuserhome/$USER   本身不识别$
user_sub_token=$USER    引用shell中的字符

mkdir /ftpuserhome

chgrp ftpuser /ftpuserhome

chmod g+s /ftpuserhome

mkdir -p /ftpuserhome/ftpuser{1..3}

Linux中的FTP服务_第13张图片

 

你可能感兴趣的:(Linux中的FTP服务)