ftp服务

文章目录

1.ftp服务的安装

dnf install vsftpd.x86_64 lftp.x86_64 -y
getenforce 查看模式
如果不是Disable 修改文件/etc/selinux/config
修改为disable
然后重启系统
ftp服务

开启vsftp的服务
systemctl --now enable vsftpd
查看防火墙的状态
systemctl status firewalld.service ##确保防火墙的状体为开启
firewall-cmd --permanent --add-service=ftp ##将ftp添加到防火清允许的范围之中
firewall-cmd --reload ##重新加载防火墙的系统文件

报错信息

550 程序本身拒绝
553 文件系统权限过大
500 权限过大
530 认证失败

配置文件

/etc/vsftpd/vsftpd.conf

4.匿名用户访问控制

lftp 172.25.254.140 ##当访问ftp服务时没有加入用户认证为你匿名访问
lftp 172.25.254.40 -u westos ##本地访问

登陆控制
是否允许匿名用户进行登陆
该参数默认时关闭的
anonymos_enable=YES #YES 表示允许匿名用户进行登陆
ftp服务
匿名用户上传文件权限的管理
anon_upload_enable=YES
chgrp ftp /var/ftp/pub/
chmod 775 /var/ftp/pub/

ftp服务
注:实验证明 匿名的登陆实际上时利用ftp用户进行登陆的

匿名用户w权限的管理
anon_mkdir_write_enable=YES
ftp服务
注:目录的建立,也是需要匿名用户对文件/var/ftp/pub 具有w的权限
此时匿名用户不具有目录的删除的权限

man命令查看帮助
man vsftpd.conf

anon_world_readable_only=NO ##设置NO时,可以下载不可读文件

anon_other_write_enable ##设置为YES时,可以删除和重命名
ftp服务

匿名用户上传文件权限设定
文件中本身不存在
anon_umask=022 ##设定上传文件的权限的预留值
ftp服务

匿名用户上传文件身份设定
#chown_uploads=YES
#chown_username=lee
上传文件时指定用户身份
此时文件的权限就不生效了,需要重新编写文件的权限
修改上传文件的权限
chown_upload_mode=0644

登陆数量控制
max_clients=3 ##ftp服务器能够接受连接的最大数量

ftp服务

ftp服务

上传速率的控制
anon_max_rate=102400 ##设置用户的最大上传速率

5.本地用户的访问

local_enable=NO|YES
本地用户是否能够上传文件

写权限的控制
write_enable=NO|YES

上传文件权限控制
local_umask=077 ##系统保留权限
ftp服务

用户登录的控制
/etc/vsftpd/目录中的文件
ftpusers ##永久的黑名单
user_list ##临时黑名单

用户登陆白名单
userlist_deny=NO 当此参数生效时,默认所有都不能登陆
user_list 名单中的人可以进行登陆,此时该名单变成白名单

锁定用户到自己的家目录中
chmod u-w /home/* ##如果不设定权限,系统会进行报错
chroot_local_user=YES
ftp服务

注:白名单和黑名单的文件时不存在的需要手动的进行添加
锁定用户到自己家目录中的白名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
注:只有白名单中的用户是可以访问其他目录的
先 cd 然后利用ls进行验证

锁定用户到自己家目录中的黑名单
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
注:只有黑名单中的用户是不能访问其他目录的
先 cd 然后利用ls进行验证

6.虚拟用户的访问

1.建立虚拟用户过程 ###
1.vim /etc/vsftpd/virt_users
文件格式
用户名
密码
用户名
密码

db_load -T -t hash -f /etc/vsftpd/virt_users /etc/vsftpd/virt_users.db
##对认证文件进行加密

在/etc/pam.d/ 目录中添加认证规则
vim virt_users
文件内容为
账号 验证方式 认证插件 验证对比文件
密码 验证方式 认证插件 验证对比文件
account required pam_userdb.so db=/etc/vsftpd/virt_users
auth required pam_userdb.so db=/etc/vsftpd/virt_users

在ftp配置文件中修改
pam_server_name=virt_users ##认证规则文件
userlist_enable=YES
guest_enable=YES
guest_username=ftp

ftp服务

ftp服务

虚拟用户用户家目录的独立设定

mkdir -p /ftpwestosdir/user{1…2}
touch /ftpwestosdir/user1/westos1file
touch /ftpwestosdir/user2/westos2file

vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserdir/$USER ##指定用户家目录 $USER是变量方式指定
user_sub_token=USER ##$USER是变量不是字符串

ftp服务

systemctl restart vsftpd

ftp服务

用户配置独立

注:实验前提,关闭匿名用户的所有权限

user_config_dir=/etc/vsftpd/user_config/ #在此目录中与用户名称相同的文件为用户配置文件 #设定所有虚拟用户的配置目录为/etc/vsftpd/user_config/

mkdir /etc/vdftpd/user_config

vim /etc/vdftpd/user_config/user1
anon_upload_enable=YEs
注:此参数只有在user1登陆时才会被识别

设定完成之后user1用户可以上传文件
user2 不可以上传文件

上一篇:linux下vsftpd服务的部署和优化


下一篇:Linux之Vsftpd