首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止进程运行?

问如何防止进程运行?
EN

Unix & Linux用户
提问于 2015-04-20 01:28:03
回答 2查看 188关注 0票数 1

我可以扼杀一个过程。但是,在不将其从Linux中删除的情况下,如何防止该进程再次被调用?例如,如果我运行像netstat这样的程序来查找与进程相关的端口,那么我将在几秒钟内看到它以不同的PID再次运行。

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2015-04-20 01:44:41

更改其执行权限位。作为root用户,使用以下命令:

代码语言:javascript
复制
chmod a-x path_to_process_binary

这基本上拒绝了所有者、组和其他人的执行权限(如a = all)。

这个简单的技巧将阻止进程的运行,但我相信您的系统中可能发生了更严重的事情。

如果您确实需要自己运行它,请检查这个答案。

票数 2
EN

Unix & Linux用户

发布于 2015-04-20 06:18:29

也许这有点过了,但最安全的方法可能是使用AppArmor或SELINUX来阻止二进制文件的执行。修改文件权限将工作,直到提供二进制更新的包(然后,它将再次被设置为可执行文件时更新)。

另一方面,如果您试图保护整个分区,使其中没有任何东西可以直接执行(例如,保护/var或/tmp,以便没有人可以在该目录中解压缩和执行二进制文件),则可以使用"noexec“选项标志挂载分区:

代码语言:javascript
复制
root@server: ~ # grep noexec /etc/fstab
/dev/sda6    /tmp   ext4   defaults,noexec,nosuid,nodev  1 1

这条路:

代码语言:javascript
复制
root@server: /tmp # cp /usr/bin/vim .
root@server: /tmp # ./vim
-bash: ./vim: Permission denied

注意,shell脚本仍然可以作为/bin/sh /tmp/myscript.sh执行,但不能直接用./myscript.sh执行。

"noexec“标志对于CGI服务器非常有用,因为您可以通过从易受攻击的PHP或基于CGI的站点下载、编译和执行二进制文件来避免某些攻击。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/197342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档