问题标签 [selinux]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - MySql SeLinux 策略权限
目前,我设置了一个 apache 服务器(它正在运行一个 Intranet 站点),但我有点卡住了。当用户转到该页面时,它会运行 mysql 查询并用于INTO OUTFILE
从该查询生成管道分隔文件。我遇到的问题是 SELinux 阻止 mysql 将文件写入我想要的目录。
我要写入的目录是
这样当它生成时,用户将收到一个指向该文件的链接,以便他们可以直接从浏览器下载它。
我尝试将目录的上下文设置为
也试过了,
但是我不确定我是否正确地执行了 var_t。
我已经尝试将 SELinux 设置为 Permissive 以进行测试,并且 mysql 能够成功写入该文件夹,所以我知道所有阻碍我的都是 SELinux。
我不想禁用 SeLinux,也不想将 mysqld 设置为允许运行。所以我的问题变成了我必须做什么才能允许mysql访问写入该文件夹?即使有人能指出我正确的方向,也将不胜感激。
node.js - 在 SELinux 沙箱中生成 Node.JS
我正在构建一个涉及将用户输入重定向到服务器端命令的 Node.JS 应用程序。当然,这可能对安全性造成灾难性影响,因此我希望在SELinux 沙箱中运行子命令。(我不想在沙箱中运行整个应用程序,因为我希望最终用户在服务器上都有自己的工作区。)
例如,考虑命令cowsay
。为了运行沙盒牛话,您只需要sandbox cowsay
. 除了幕后的安全差异之外, 的接口sandbox cowsay
应该与 plain 的接口相同cowsay
。
然而,Node.JS 对这两种方法的反应不同。考虑代码:
这是带有 A 行的版本的输出:
但这是带有 B 行的版本的输出:
换句话说,Node.JS 似乎没有从沙盒的子进程中读取流。
可以使用任何命令执行此测试。例如,假设我们使用了 python 命令解释器。这里发生的情况是,非沙盒python
等待从 Node.JS 将某些内容输入其标准输入,但沙盒仅以python
代码 0 存在,无需等待。
仅当 SELinux 处于“强制”模式时才会出现此行为。当 SELinux 处于“许可”(非强制)模式时,沙盒版本可以正常工作。
为了让 Node.JS 将沙盒命令与非沙盒命令相同,需要发生什么?
spring - cannot initialize spring context due to "Error creating bean with name.." error
My spring application is running on jboss 4.2.3, when I start the application server deployment of My application failed. I have already run this application on some other computer. what seems to be diffrent is that;
When I list the files there is a dot preceding the permission columns, however on the former computer I dont see any dot in the permission columns.
the bean definition is as follows;
the error log is as follows;
android - SEandroid 启动问题
我目前正在将 SEandroid(安全增强型 Android)刷到 Nexus 7 上,但是当我尝试启动时,Nexus 7 只会闪动 Google 屏幕,没有别的。
我成功编译了 4.2.1 和 4.1.2 的 SEandroid 源代码,并且都没有在 Nexus 上运行。
想知道设备启动时可能出现哪些常见错误,但屏幕没有显示任何内容?
我根据:http ://selinuxproject.org/page/SEAndroid下载并编译了代码
我正在为我的内核使用 tegra3_android_defconfig,并且正在使用 full_grouper_userdebug。
任何帮助,即使与 SEandroid 无关,也会有所帮助。
这是 logcat 的输出:
提前致谢。
python - 相同的权限,不同的权限?
我正在通过 CGI 在 Apache 服务器中运行 Python 脚本。在脚本中,我尝试读取驻留在 /home 目录中的文件。但是,我可以读取一个文件而不是另一个。这对我理解权限以及什么可以读取或不可以读取的目标来说是非常令人沮丧的。
顺便说一句,尝试读取 db_02 会产生相同的异常。
我希望有人可以对此有所了解。谢谢
zend-server - 尝试升级到 Zend Server 6.0.1
我目前在 Red Hat Enterprise Linux Server 版本 6.4 (Santiago) 上运行 Zend Server 5.6.0 (PHP 5.3)
我希望升级到 Zend Server 6.0.1,但无论是自动尝试(通过 install_zs 文件)还是手动尝试(编辑 /etc/yum.repos.d/zend.repo),我都会收到相同的消息。
我不愿意使用 --skip-broken ,因为我觉得它会引起问题。
我会指出 SELinux 已安装在服务器上,但已禁用。我通过编辑 /etc/selinux/config 文件验证了这一点。
文件 /usr/sbin/semanage 不存在。我为找出为什么导致我安装 SELinux 所做的挖掘工作,但它已安装并且是最新版本。
有没有其他人有这个问题?
php - PHP socket_connect() 权限被拒绝
好的,所以我运行了一个不错的 php 服务器,它使用我编写的这个小函数打开了一个 AF_UNIX 套接字。像这样被调用
然后我写了一个像这样连接到这个服务器的客户端
客户端实际上是从一个网页的 AJAX 请求中调用的,它应该连接到服务器,获取一些数据,然后将该数据返回到网页。ajax 请求是用 javascript 发出的。 我已经在没有 AJAX 请求的情况下测试了客户端/服务器连接并且它可以工作,但是一旦我通过网页尝试使用 AJAX 连接,客户端就会从脚本中的 echo 语句返回“socket_connect() failed, reason: Permission denied” . 也许我缺少一些小疏忽?我假设 Ajax 是通过 httpd (apache) 调用的。我确定这可能是某种类型的文件权限问题,但我无法弄清楚究竟是什么原因造成的。
到目前为止我尝试过的事情,
确保在 php.ini 中关闭了 safe_mode,尝试了“setsebool -P httpd_can_network_connect on”来阻止 SElinux,还尝试了“setenforce 0”,这也没有任何区别。我尝试将 /tmp 和所有子目录的文件权限更改为 777 无济于事。我已经没有想法了,想也许有人以前看过这个问题,我也看过这个,这是我的服务器正在创建的文件->
如果有人对 AJAX 调用感兴趣,我会使用它
其中 connectDisconnect.php 是上面的客户端。
bash - incrond 在 CentOS 6.4 下运行但不执行命令
我已经从 EPEL 存储库安装了 incron(在你问之前;是的,我也尝试下载源代码并在本地编译;相同的结果)并试图在我成功原型化的 CentOS 6.4(最终)虚拟机上设置一个进程在我本地的 Ubunto 12.04 机器上:
前面的一些信息:
- SELinux 设置为 PERMISSIVE
- 我已经添加了我的脚本并使用 NOPASSWD 向所有人调用了可执行文件,
visudo
以解决一些权限问题......
如果我从命令行调用我的脚本,sudo /path/to/my/script.sh arguments
它就像一个魅力。
sudo service incrond status
验证 incrond 是否正在运行。root 和 myusername 添加到/etc/incron.allow
,/etc/incron.deny
为空。
我的根目录是:
事件的/path/to/dropfolder/
结果是什么都没有发生。不会生成日志,没有消息,也不会对文件夹中的文件执行任何操作。
所以我进行了研究:建议cron
在最小环境中运行,并且要执行复杂的命令/脚本,您可能必须.bashrc
在 cron 命令的开头执行和/或导出 PATH。
注意:我找不到支持incron
在最小环境中运行的文档,但是由于我的 google-fu(和 bing-fu!)未能产生任何与incron
我认为 WTH 直接相关的有用结果,我会尝试一下!
编辑:文档表明incron
从系统表运行或 root 从其主机环境中获取 env,因此仅incron
由非 root 用户执行应该需要任何类型的 env 或 PATH 摆弄
所以...... root 的 incrontab:
没有骰子……尝试&&
而不是;
=没有骰子。如果你能想到上面的变化,我可能已经尝试过了……
所以,让我们尝试一些小动作restorecond -R /usr/sbin/incrond /etc/incron*
!呵呵,也没有变化。
service incrond stop
紧随其后的是service incrond start
……service incrond restart
不,不,不。
激烈的措施:yum remove incron
和yum install incron
,chkconfig incrond on
然后为良好的措施 a sudo reboot
!
没有什么。
我什至没有从中得到任何东西/tmp/ IN_ALL_EVENTS echo boo>>/home/myusername/boofile.txt
,因此我什env>>envfile.txt
至无法检查是否incron
在稀疏环境中运行......(见上面的注释)
然而:service incrond status
产量incrond (pid xxxx) is running...
我错过了什么?它必须大而明显,我希望有人能让我在短时间内觉得自己像个白痴!
像这样进一步检查/var/log/cron
产量结果:-是的Aug 14 15:05:30 hostname incrond[1584]: (root) CMD (sudo /path/to/DropFolder/script/subfolder/script-Beta-1.sh /home/username/DropFolder/testfile.file)
,我确保我的脚本是可执行的..
所以 incrond 确实在尝试做某事,但我在任何地方都没有输出......即使是简单的也会echo > /dev/pts/0
产生 nada 结果。
- 感谢您修复我的垃圾格式化工作
wordpress - Centos 6 灯服务器安全
在过去的一周里,我安装了一个 centos6 Lamp 服务器,并为我的网站设置了 wordpress,为我的论坛设置了 phpbb。就安全性而言,你们有什么建议吗?从我一直在为 wordpress 阅读的内容来看,有一些用于安全性的插件以及更改和删除管理员帐户等方法。对于phpbb,我真的不知道该怎么做。我主要关注的是我的服务器。这是我设置的第一台服务器,所以我知道它不安全。我读到 mod_security 和 mod_evasive 是很好的对策。与此同时,我禁用了 selinux,因为它阻止我查看我的论坛页面(关于做什么的任何想法?),但我知道它很好配置,但只是如此混乱。任何帮助将非常感激。
mysql - MySQL SELinux 冲突 Fedora 19
我已经在我的 F19 上成功安装了 MySQL 5.6。虽然安装成功,但是无法启动mysql服务。
当我跑
它返回以下错误:
我禁用了 SELinux(许可模式),服务顺利启动。但是我做了一些关于禁用 SELinux 的研究,发现禁用 SELinux 是个坏主意。那么,有没有办法添加自定义 MySQL 策略?还是应该让 SELinux 进入许可模式?