ftp服务

提供ftp协议的软件

vim /etc/sysconfig/selinux #更改了文件之后,需要内核重新初始化来识别更改
systemctl set-default multi-user.target
reboot

安装ftp
server Daemon 服务的安装包

服务器
dnf install vsftpd.x86_64 lftp.x86_64

在客户端安装

dnf install lftp.x86_64

查询软件的启动脚本

rpm -ql vsftpd

ftp服务分主动模式和被动模式
主动模式,访问数据端口为21,传输端口为20
被动模式,访问数据端口为21,传输端口为随机的开启一个大于1024的端口

netstat -antlupe | grep vsftpd  查询端口

530认证失败
550 程序本身拒绝
553 文件系统权限限制
500权限过大
/var/ftp 默认发布目录

lftp 172.25.254.250  #这种叫匿名访问,在没有指定用户时,访问失败,是因为没有开启匿名用户访问的权限的。
lftp 172.25.254.250 -u westos #本地用户访问
vim /etc/vsftpd/vsftpd.conf  #主配置文件
改完配置文件之后需要重启
systemctl restart vsftpd
当配置文件修改错了,则系统起不来
journalctl -xe #查看日志
当自己可以访问ftp://172.25.254.250,其他主机都不可以的时候,应该是因为火墙问题
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
firewall-cmd --list-all

在这里插入图片描述
家目录控制
anon_root=/westosdir
man 5 vsftpd.conf
匿名用户上传
anon_upload_enable=YES
put /etc/passwd 在ftp中上传文件
/var/ftp/ 权限不能设置为777.

当在其他主机上

lftp 172.25.254.250
put /etc/passwd #上传  get 下载
#上传不了时,
在172.25.254.250主机上
chmod 777 /var/ftp/pub
chgrp ftp /var/ftp/pub

改配置文件在服务器上
anon_other_write_enable=YES 删除重命令控制
anon_world_readable_only=NO 其他用户只读
max_clients=200 最大登录用户数量
anon_max_rate=102400(100K) 最大速率
匿名用户上传文件的用户身份设定
chown_upload=YES
chown_username=lee
chown_upload_mode=0644

问题:本地用户的设定
本地用户指的是服务器上的用户
本地用户是否可以登录
local_enable=NO|YES

write_enable=NO 本地用户写功能,ftp写功能的总开关,当这个功能关了之后,匿名用户的上传功能和写的功能都开了,也不能用了。

ftpusers 永久黑,权力更高 和user_list 临时黑名单都是用户的黑名单
不管做了什么设定,用户名字出现在ftpuser,一定登不上
当做过处理之后,user_list有可能是白名单
设定
userlist_deny=NO user_list变为白名单了
chroot_local_user=YES 意味着所有的用户都锁定在自己的家目录中
NO 意味着所有用户可以浏览系统所有的用户
chroot_list_file=/etc/vsftpd/chroot_list 这个文件默认是没有的,这个文件指定的用户将不能切换到根目录
chroot_local_user=YES
chroot_list_file=/etc/vsftpd/chroot_list 这时这个文件就由黑变白了。

问题3:ftp服务中虚拟用户的认证
建立名单

cd /etc/vsftpd/
ls
vim westos_pam
user1
123
user2
123
user3
234
对westos_pam进行加密
db_load -T -t hash -f westos_pam westos_pam.db
#T表示tranlate t表示类型 f表示指定要转换的文件

pam这个插件是为了让你完成某些认证的。
认证的插件名称是

#*pam*.so
#.so为了让你的服务具备某些功能,.ko
#ls -l /usr/lib64/security/pam_userdb.so
#/etc/pam.d/vsftpd 这个文件的存在可以使得系统通过认证
#/etc/pam.d/password-auth
vim /etc/pam.d/westos
account required  pam_userdb.so db=/etc/vsftpd/westos_pam
#required作用:当此认证失败后,会导致整个认证行为失败
#这个内容得作用是:当我们输入账号的时候,会用pam_userdb.so插件到/etc/vsftpd/westos_pam中寻找你所说的账号有没有,如果有的话,通过,如果没有的话,拒绝。
#这个文件会自动补全db
auth required pam_userdb.so db=/etc/vsftpd/westos_pam
#这个内容得作用是:当我们输入密码的时候,会用pam_userdb.so插件到/etc/vsftpd/westos_pam中寻找你所说的密码有没有,如果有的话,通过,如果没有的话,拒绝。
#这两个条件有一个没有符合,则认证失败
使这个文件生效
vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos  #加载的认证
userlist_enable=YES
guest_enable=YES  #虚拟用户的功能是开的
guest_username=ftp    #虚拟用户不具备用户身份,因此需要指定一个用户身份给他们
systemctl restart vsftpd
有了虚拟用户之后,本地用户就访问不了了

问题4:虚拟用户家目录隐私独立

mkdir -p /ftphome/user{1..3}
touch /ftphome/user1/user1file
touch /ftphome/user2/user2file
touch /ftphome/user3/user3file
mkdir /ftohome/user{1..3}/pub
vim /etc/vsftpd/vsftpd.conf
在写这一行只,必须保证之前的local_root注释掉,否则系统会混乱
local_root=/ftphome/$USER  #$USER,登录是谁,就是自动采集谁的信息
user_sub_token=$USER  #指示$USER的用法和所在的shell用法是一样的。

问题5:匿名用户vsftp.conf配置独立

vim /etc/vsftpd/vsftpd.conf
anon_other_write_enable=YES
anon_upload_enable=YES
anon_world_readable_only=NO
anon_mkdir_write_enable=YES
在进行以下配置之前,将以上的注释
user_config_dir=/etc/vsftpd/westos
mkdir /etc/vsftpd/westos
vim /etc/vsftpd/westos/user1
anon_upload_enable=YES
systemctl restart vsftpd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值