ftp

ftp

1.ftp启用
  • 用getenforce命令查看selinux状态

  • vim /etc/sysconfig/selinux
    在这里插入图片描述

  • yum install -y vsftpd

  • systemctl start vsftpd

  • systemctl enable vsftpd
    关闭防火强,用下面的方法可不用每次关闭防火墙

  • firewall-cmd --list-all ##查看

  • firewall-cmd --permanent --add-service=ftp #添加ftp

  • firewall-cmd --reload #添加后需重新加载
    在这里插入图片描述

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的安全部署

报错信息:

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

chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
vim /etc/vsftpd/vsftpd.conf
systemctl restsrt vsftpd.service ##修改后需重启

(1)匿名用户上传:

anon_upload_enable=YES
在这里插入图片描述

(2)匿名用户下载:

anon_world_readable——only=NO

(3)匿名用户建立目录:
anon_mkdir_write_enable=YES

(4)匿名用户删除和重命名:

anno_other_write_enable=YES

(5)匿名用户家目录修改:

anno_root=/westos

(6)匿名用户默认上传文件权限修改:

anon_umask=xxx

(7)匿名用户使用的用户身份修改:

chown_uploads=YES
chown_username=student

(8)最大上传速率:

anno_max_rate=102400 ##单位:字节
dd if=/dev/zero of=/mnt/file bs=1M count=60

(9)最大链接个数:

max_clients=5

(10)本地用户家目录修改:

local_root=/westos

(11)本地用户上传文件权限:

local_umask=xxx

(12)限制本地用户浏览根目录

chroot_local_user=YES ##此参数要求去掉自己对家目录的写权限
chmod u-w /home/*

用户黑名单建立

chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

用户白名单建立

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

(13)限制本地用户登陆:

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

用户白名单设定

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

3.ftp虚拟用户的设定
  • vim /etc/vsftpd/westos ##文件名称任意

user1
123
user2
123

  • db_load -T -t hash -f /etc/vsftpd/westos /etc/vsftpd/westos.db

  • vim /etc/pam.d/westos ##文件名称任意

account requierd pam_userdb.so bd=/etc/vsftpd/westos
auth requierd pam_userdb.so bd=/etc/vsftpd/westo

  • vim /etc/vsftpd/vsftpd.conf

pam_service_name=westos
guest_enable=YES

11.04
虚拟用户身份指定

guest_usernam=westos

虚拟用户家目录独立设定

  • vim /etc/vsftpd/vsftpd.conf

local_rooot=/ftphome/ U S E R u s e r s u b t o k e n = USER user_sub_token= USERusersubtoken=USER

  • mkdir -p /ftphome/user1/user1dir
  • mkdir -p /ftphome/user2/user2dir

虚拟用户独立配置

  • chgrp ftp /ftphome -R
  • chmod 775 /ftphome/user1/user1dir
  • chmod 775 /ftphome/user2/user2dir
  • vim /etc/vsftpd/vsfypd.conf

user_config_dir=/etc/vsftpd/userconf

  • mkdir -p /etc/vsftpd/userconf

  • vim /etc/vsftpd/userconfuser1
    举例:anon_upload_enable=YES

selinux

  • touch /mnt/westos

  • mv /mnt/westos /var/ftp

  • ls -Z /var/ftp

  • ps auxZ | grep vsftpd

  • lftp 172.25.254.100 -u student

  • 将enforcing设置成disable | setenforce 0

  • cat /var/log/audit/audit.log

修改安全上下文

切换到/var/ftp/:

  • chcon -t public_content_t /var/ftp/westos1 ##临时的

对目录:

  • mkdir /westos

  • touch /westos/westosfile{1…5}

  • ls -Zd /westos

  • vim /etc/vsftpd/vsftpd.conf

anon_root=/westos

  • lftp 172.25.254.100 ##不能访问

  • setenforce 0

  • chcon -t public_content_t /westos -R

  • ls -Zd /westos
    把selinux重启一次,安全上下文又变回default_t

  • semanage fcontext -l | grep /var/ftp

  • semanage fcontext -l | grep /westos

  • semanage fcontext -a -t public_contrent_t /westos

  • semanage fcontext -l | grep /westos ##只改变了westos目录的安全上下文

  • restorecon -RvvF /westos

  • semanage fcontext -d -t public_content_t /westos

  • rm -fr /westos

  • mkdir /westos

  • touch /westos/file{1…5}

  • semanage fcontext -a -t public_content_t ‘/westos(/.*)?’

  • restorecon -RvvF /westos

  • getsebool -a | grep ftp

ftp_home_dir --> off

  • setsebool -p ftp_home_dir on
    本地用户可以写,可以删除
selinux排错
  • cat /var/log/messages
    在这里插入图片描述
  • rpm -qa | grep setroubleshoot

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值