• centos上和vsftpd相关的防火墙与SElinux设置(本地用户不能上传文件的问题)


    刚装好的centos linux系统启动vsftpd(ftp服务器)后,按照网上的说法打开了本地用户的访问权限,理论上应该具备所有的写权限(毕竟是local usr不是匿名账户),但开始不知道问什么只能打开文件夹,连里面的原有文件的都看不到,更别提什么写权限了。后来发现禁用了防火墙和SElinux(或把SELinux设置成允许模式)后,就一切正常了。后来想想,这么做太不负责任了,于是调试,看看到底怎么设置防火墙和SELinux才可以让ftp通过。

       经过调试发现和防火墙没关系,开启防火墙,只要允许ftp通过就可以。但SElinux只要设置为强制模式就不行。最后的解决方案很简单只要以root权限执行这一句:

    [root@jxzl ~]# setsebool ftp_home_dir=1

    ftp就可以正常使用了。
    防火强开启,允许ftp协议。SELinux状态仍为强制,但允许ftp用户访问它自己home目录。

    到底问题算是解决了,不过后面附带说明一下,这中间用的一些有用的东西。

    [root@jxzl ~]# vi /var/log/messages

    可以查看系统日志。我就是从这里找到问题的原因的。日志里面用这样一段话:

       Oct 24 12:12:19 jxzl setroubleshoot: SELinux 正在阻止 ftp 在后台读取用户的主目录 (./D0C2CEC4BCFEBCD020283329). For complete SELinux messages. run sealert -l fa63d4bd-d6d2-4e6e-aa68-59753d8058a6

    然后按照他的提示执行sealert -l fa63d4bd-d6d2-4e6e-aa68-59753d8058a6可以看到另一段提示如下:

    [root@jxzl ~]# sealert -l fa63d4bd-d6d2-4e6e-aa68-59753d8058a6

    摘要:

    SELinux 正在阻止 ftp 在后台读取用户的主目录
    (./D0C2CEC4BCFEBCD020283329).

    详细的描述:

    [SELinux is in permissive mode, the operation would have been denied but was
    permitted due to permissive mode.]

    SELinux 拒绝了 ftp 守护进程访问用户家目录
    (./D0C2CEC4BCFEBCD020283329) 。有 人试图通过您的 ftp
    守护进程登录一个用户帐户。如果您将您的 ftp 设置
    成只允许匿名访问,这可能是入侵尝试的信号。

    正在允许访问:

    如果你想让 ftp 允许用户访问他们的主目录,你需要开启
    ftp_home_dir 布尔值: "setsebool -P ftp_home_dir=1"

    以下命令将允许这个权限:

    setsebool -P ftp_home_dir=1

    附加的信息:

    源上下文                  root:system_r:ftpd_t
    目标上下文               root:object_r:user_home_t
    目标对象                  ./D0C2CEC4BCFEBCD020283329 [ dir ]
    Source                        vsftpd
    Source Path                   /usr/sbin/vsftpd
    Port                          <未知的>
    Host                          jxzl.*.*.*

    Source RPM Packages           vsftpd-2.0.5-16.el5_4.1
    Target RPM Packages          
    策略 RPM                    selinux-policy-2.4.6-279.el5
    Selinux 激活                True
    策略类型                  targeted
    MLS 激活                    True
    强制模式                  Permissive
    插件名称                  ftp_home_dir
    主机名                     jxzl.*.*.*
    平台                        Linux jxzl.*.*.*2.6.18-194.el5 #1 SMP Fri
                                  Apr 2 14:58:35 EDT 2010 i686 i686
    警告记数                  1
    First Seen                    Sun Oct 24 12:12:19 2010
    Last Seen                     Sun Oct 24 12:12:19 2010
    Local ID                      fa63d4bd-d6d2-4e6e-aa68-59753d8058a6
    行数                       

    原始 Audit 消息          

    host=jxzl.*.*.* type=AVC msg=audit(1287893539.341:482): avc:  denied  { create } for  pid=5635 comm="vsftpd" name=D0C2CEC4BCFEBCD020283329 scontext=root:system_r:ftpd_t:s0 tcontext=root:object_r:user_home_t:s0 tclass=dir

    host=jxzl.*.*.* type=SYSCALL msg=audit(1287893539.341:482): arch=40000003 syscall=39 success=yes exit=0 a0=88671c0 a1=1ff a2=e958fc a3=e960b0 items=0 ppid=5631 pid=5635 auid=0 uid=500 gid=500 euid=500 suid=500 fsuid=500 egid=500 sgid=500 fsgid=500 tty=(none) ses=20 comm="vsftpd" exe="/usr/sbin/vsftpd" subj=root:system_r:ftpd_t:s0 key=(null)

  • 相关阅读:
    十度好友问题
    TCP传输连接建立与释放详解
    Android多点触控技术实战,自由地对图片进行缩放和移动
    如何判断一个变量是数组Array类型
    HDU 4725 The Shortest Path in Nya Graph-【SPFA最短路】
    解决外贸电商难题,PayPal中国外贸电商大会圆满礼成
    动物-蛇:家蛇
    动物-蛇:水蛇
    动物-鱼:河蟹
    动物-鱼:河虾
  • 原文地址:https://www.cnblogs.com/zhouwenwu/p/2307124.html
Copyright © 2020-2023  润新知