Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 路径/tmp与常规文件不对应_Linux_Redhat_Selinux - Fatal编程技术网

Linux 路径/tmp与常规文件不对应

Linux 路径/tmp与常规文件不对应,linux,redhat,selinux,Linux,Redhat,Selinux,当我有 位于/tmp目录中的可执行文件(例如/tmp/a.out) 它由根shell运行 linux selinux开启(RedHat、CentOS等的默认设置) 显然,当root用户试图运行位于/tmp/目录中的可执行文件时,会取消权限。除了关闭selinux,你知道如何解决这个问题吗?谢谢您可以在您想要运行的/tmp中的二进制文件或目录(包含二进制文件)上设置文件上下文 sudo semanage fcontext -a -t bin_t /tmp/location 然后恢复经济: s

当我有

  • 位于/tmp目录中的可执行文件(例如/tmp/a.out)
  • 它由根shell运行
  • linux
  • selinux开启(RedHat、CentOS等的默认设置)

显然,当root用户试图运行位于/tmp/目录中的可执行文件时,会取消权限。除了关闭selinux,你知道如何解决这个问题吗?谢谢

您可以在您想要运行的/tmp中的二进制文件或目录(包含二进制文件)上设置文件上下文

sudo semanage fcontext -a -t bin_t /tmp/location
然后恢复经济:

sudo restorecon -vR /tmp/location

您可以在要运行的/tmp中的二进制文件或目录(包含二进制文件)上设置文件上下文

sudo semanage fcontext -a -t bin_t /tmp/location
然后恢复经济:

sudo restorecon -vR /tmp/location


只要看一下
/tmp
目录的挂载选项,很可能它上面有
no exec
选项(这样做有很多安全原因,首先是任何人都可以将文件放入
/tmp
目录)

只要看一下
/tmp
目录的挂载选项,最有可能的情况是,您在其上有
no exec
选项(这样做有很多安全原因,首先是任何人都可以将文件放入
/tmp
目录)

显示的错误是什么,您试图运行的命令是什么?我的回答对您有效吗?Ricardo,请回答。并选择合适的答案。很抱歉耽搁了这么长时间,我终于找出了问题所在。khrm得到了正确的答案,semanage成功了。Luis Colorado的建议是有道理的,我有更安全的系统,因为我在内存中挂载/tmp,并且没有exec选项,但这里的情况并非如此。谢谢你的帮助!显示的错误是什么?您试图运行的命令是什么?我的回答对您有效吗?里卡多,请回答。并选择合适的答案。很抱歉耽搁了这么长时间,我终于找出了问题所在。khrm得到了正确的答案,semanage成功了。Luis Colorado的建议是有道理的,我有更安全的系统,因为我在内存中挂载/tmp,并且没有exec选项,但这里的情况并非如此。谢谢你的帮助!虽然这是真的。但OP面临着另一个问题。SELinux在/tmp文件夹中阻止执行。对于这一点,我的答案更准确。SELinux可能是在装载
/tmp
时使用该选项阻止
/tmp
文件夹中的执行,它使用的是fcontext。这就是为什么我将fcontext改为bin_tYes,在/tmp这样的地方使用no exec选项是有意义的。但事实并非如此。使用semanage有效。谢谢SELinux是避免执行任何人都可以放在
/tmp
目录中的软件的一个很好的选择。我继续努力理解问题的本质。。。如果要在一个可写目录中执行二进制文件,那么使用SELinux有什么意义?此外,这不是一场比赛,看哪种反应更准确。我们都是志愿者,努力解决别人的问题。目的是帮助某人,而不是赢得比赛。让我投你一票,这样你就可以在比赛中领先于我。这是真的。但OP面临着另一个问题。SELinux在/tmp文件夹中阻止执行。对于这一点,我的答案更准确。SELinux可能是在装载
/tmp
时使用该选项阻止
/tmp
文件夹中的执行,它使用的是fcontext。这就是为什么我将fcontext改为bin_tYes,在/tmp这样的地方使用no exec选项是有意义的。但事实并非如此。使用semanage有效。谢谢SELinux是避免执行任何人都可以放在
/tmp
目录中的软件的一个很好的选择。我继续努力理解问题的本质。。。如果要在一个可写目录中执行二进制文件,那么使用SELinux有什么意义?此外,这不是一场比赛,看哪种反应更准确。我们都是志愿者,努力解决别人的问题。目的是帮助某人,而不是赢得比赛。让我投票给你,这样你在比赛中会领先于我。