为什么在 linux 中运行 kill 需要 sudo 访问权限

byt*_*ter 0 linux sudo kill permissions

在一台服务器(我的开发桌面)上,我可以在kill没有 sudo 的情况下执行命令,但在另一台服务器上,我会得到kill: kill 1 failed: operation not permitted.

我假设该kill命令将执行/usr/bin/kill

当我在两台服务器上检查文件的权限时,它的权限部分显示为相同lrwxrwxrwx 1 root root,这意味着每个用户都具有该文件的读、写和执行权限。那为什么我需要sudo在其他服务器上做呢?我很好奇两台服务器之间的哪一部分产生了这种差异。

esc*_*rtz 5

错误消息kill: kill 1 failed: operation not permitted指出它来自kill命令,而不是试图执行它的 shell。否则,您会看到类似bash: /usr/bin/kill: Permission denied(以“bash”开头)的消息。

而是问问自己您试图杀死哪个进程,以及运行该进程的用户是谁。您不能以受限用户身份杀死其他人的进程,kill命令本身会告诉您不允许这样做...