我使用selinux运行Centos 7.2。 我在Centos 7.2上写了这两个文件服务: 系统单元文件为memcached_mc2 : [Unit] Description=memcached instance memcached_mc2 After=network.target [Service] LimitNOFILE=1024 ExecStart=/usr/bin/memcached -m 64 -U 11212 -p 11212 -u memcached -l 0.0.0.0 -c 1024 -I 1m Restart=on-failure [Install] WantedBy=multi-user.target 系统单元文件为memcached_mc1 [Unit] Description=memcached instance memcached_mc1 After=network.target [Service] LimitNOFILE=1024 ExecStart=/usr/bin/memcached -m 64 -U 11211 -p 11211 -u memcached -l 0.0.0.0 -c 1024 -I 1m Restart=on-failure […]
我有一个运行nginx的libvirt vm,在nginx虚拟机上安装了一个共享文件系统,我想在这个安装目录中公开一个目录。 nginx似乎运行良好,我可以访问/ usr / share / nginx / html中的基本本地文件和子目录。 我有一个从挂载到默认nginx位置的符号链接,通过 ln -sf /mnt/h_drive/ss4/ /usr/share/nginx/html/ ..我可以看到从浏览器的ss4目录,但是当我点击它,我得到的“403禁止”,并在我的/var/log/nginx/error.log 2017/10/18 17:52:16 [error] 30806#0: *1 opendir() "/usr/share/nginx/html/ss4" failed (13: Permission denied), client: xxx.xxx.xxx.xxx, server: _, request: "GET /opt/ss4/ HTTP/1.1", host: "example.com" 如果我禁用与setenforce 0 selinux我可以访问的一切。 我需要做什么才能访问这个挂载?
我正在将一个CentOS 5.3系统从MySQL迁移到PostgreSQL。 我们机器的设置方式是将最大的磁盘分区挂载到/home 。 这是我的控制权,由托pipe服务提供商pipe理。 无论如何,我们显然希望数据库文件在/home的原因。 使用MySQL,我们做了以下工作: 编辑my.cnf并将datadir设置更改为/home/mysql 添加了一个新的“文件types”政策logging(我希望我使用正确的术语)来设置/home/mysql(/.*)? 到mysqld_db_t 运行restorecon -R /home/mysql来分配标签 一切都很好 但是,对于PostgreSQL,我做了以下工作: 编辑/etc/init.d/postgresql并将PGDATA和PGLOGvariables分别更改为/home/pgsql/data和/home/pgsql/pgstartup.log 添加了一个新的策略logging,将/home/pgsql/pgstartup.log设置为postgresql_log_t 添加了一个新的策略logging来设置/home/pgsql/data(/.*)? 到postgresql_db_t 运行restorecon -R /home/pgsql来分配标签 在这一点上,我仍然无法启动PostgreSQL。 pgstartup.log说: # cat pgstartup.log postmaster cannot access the server configuration file "/home/pgsql/data/postgresql.conf": Permission denied 奇怪的是,在/var/log/messages或/var/log/secure中我没有看到与此有关的任何消息, 但是如果我closures了SElinux,那么一切正常。 我确保所有的权限都是正确的(文件为600,目录为700)以及所有权(postgres:postgres)。 谁能告诉我我做错了什么? 我从版本8.3.7的commandprompt.com使用Yum版本库。 编辑:我的问题明确提到/home目录的原因是,如果我通过所有这些步骤的任何其他目录,例如/var/lib/pgsql2或/usr/local/pgsql ,然后按预期工作。
可能重复: bind9在chroot监狱 – 必要或不? 我正在重做我的外部DNS服务器,这次考虑跳过chroot。 并使用apparmor或selinux作为替代。 有什么想法吗? 我正在使用团队cymrus绑定模板作为..模板:)但是当更多的pipe理服务器,默认包首选imho。
我创build了一些符号链接来replace/etc/pam.d一些断开的链接。 原始链接以system_u作为用户。 新创build的用户以某种方式拥有unconfined_u 。 我不确定是否存在任何安全隐患,尽pipe目标文件都以system_u作为用户。 我尝试了以下内容: # restorecon -v thefilename 和 # chcon -v -u system_u thefilename 两种方法都不会导致SELinux安全上下文中的用户发生任何更改。 为什么? 如果我不更改用户,是否有任何安全风险? 如何做出改变?
我使用lighttpd,php-fpm设置了一个CentOS 6.3盒子,如果我将lighttpd主目录设置为默认(/ var / www / lighttpd),我可以启用启用SELinux的静态文件和PHP文件。 但是,如果我将主目录更改为其他任何内容,当我尝试访问服务器时(如果启用了SELinux),则会出现403个禁止的错误。 如果我禁用SELinux另一个主目录工作正常 – 但我宁愿不必禁用SELinux。 我读过,我应该运行“chcon -R -h -t httpd_sys_content_t / my_new_docroot”,这应该使SELinux快乐,但不幸的是,当我这样做,我得到以下错误: 更改/mnt/smbshare/files' chcon: failed to get security context of文件的/mnt/smbshare/files' chcon: failed to get security context of :操作不受支持 我怀疑这是因为我试图在使用fstab挂载的SMB共享上使用chcon。 所以我想知道如何解决这个问题(除了closuresSELinux之外) – 那里的任何专家对我有什么build议? 感谢Brad
我安装了Centos 5.5,并通过deluult SElinux被禁用。 我在/ etc / selinux / config中做了更改,现在看起来像这样。 SELINUX=enforcing SELINUXTYPE=targeted SETLOCALDEFS=0 并重新启动系统。 但即使重启后,当我检查sestatus它显示禁用。 我在哪里做错了我是否需要改变别的东西? 编辑: 我正在使用Rackspace Cloud服务器
我想为我的用户在encryption文件系统上存储文件。 每个用户都将拥有自己的文件系统和自己的密钥。 用户能够login到系统并挂载他的文件系统。 当它们被挂载时,甚至根目录也不能访问它们。 设置是: LVM – > dm_crypt – > xfs。 当用户login时,他以一种所有者将成为他的方式装载他的文件系统 他可以启动程序,他们将拥有与用户相同的权限,以便他们可以读取文件 但是我希望root不能访问我的用户挂载文件系统。 首先我想写一个VFS内核模块(用内核编译),如果root用户想访问不同用户的文件,则劫持filesystm特定的命令。 问题是一个根可以做这样的事情: #su -secureuser 并瞧读安装的文件系统。 我被告知要查看posix文件的function , PAM , SELinux ,但是我不知道这些,而且我确定,即使有了这些东西,实现我的请求也是不方便的。 以下是更多,但他们即将限制整个根访问: http : //www.centos.org/docs/4/4.5/Security_Guide/s2-wstation-privileges-noroot.html 你有什么想法? 感谢您的答案! 🙂
我正在尝试configuration一组locking规则。 我的做法是从受限用户开始,使用audit2allow消息来select性地添加权限。 我的问题是,我没有在/var/log/audit/audit.log看到预期的拒绝消息。 对于我的testing,我作为受限用户通过SSHlogin到该框。 我试图猫/etc/init.d/sshd 。 在SELinux强制执行的情况下,我在shell中看到“权限被拒绝”错误。 在SELinux处于宽容模式下,我可以运行猫没有问题。 但是在任何情况下,我都不会在日志中看到拒绝消息。 更新:我试图mount分区时看到拒绝消息,但仍然不是cat 。
我有一个CentOS 7服务器。 我已经设置/root/.ssh/authorized_keys在我试图login到主机没有密码。 (是的,允许远程root访问是一个坏主意,但这是一个内部服务器。)ssh失败,在selinux审计日志中有这个。 type=USER_LOGIN msg=audit(1494544798.597:481313): pid=18660 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 msg='op=login acct="root" exe="/usr/sbin/sshd" hostname=? addr=xx.xx.xx.xx terminal=ssh res=failed' 这里是.ssh的东西的权限和上下文: # ls -aZ /root/.ssh drwx——. root root system_u:object_r:ssh_home_t:s0 . dr-xr-x—. root root system_u:object_r:admin_home_t:s0 .. -rw——-. root root system_u:object_r:ssh_home_t:s0 authorized_keys -rw-r–r–. root root unconfined_u:object_r:ssh_home_t:s0 known_hosts 我已经将权限和上下文与另一个系统的权限和上下文进行了比较,该系统允许sshlogin而不需要密码,它们是相同的。 在审计消息中没有selinux关心的文件,只是“res = fail”。 在工作日志条目的系统中有这个: subj=system_u:system_r:sshd_t:s0-s0:c0.c1023 所以,我很困惑。 /root/.ssh中没有包含上下文system_u的文件:system_r:sshd_t。 所以,我不明白为什么这个上下文被logging下来。 有没有办法知道所有.ssh相关文件的内容应该是什么? 是的,我玩过restorecon,没有运气。