![我如何知道命令是否需要以 root 身份运行?](https://linux22.com/image/1152391/%E6%88%91%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E5%91%BD%E4%BB%A4%E6%98%AF%E5%90%A6%E9%9C%80%E8%A6%81%E4%BB%A5%20root%20%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%EF%BC%9F.png)
手册中并不总是写得很清楚,有什么办法可以找到它吗?
有时,一些必须以 root 身份执行的命令会返回奇怪的错误消息,而且这并不总是很清楚。
答案1
当我阅读(正确编写的)手册时,我通常会看到要运行的命令附带两件事,它们是:
#
, 和sudo
这些通常表示该文件只能使用 root 权限运行。#
通常表示正在使用 root 帐户,另一个 (sudo) 表示用户应该处于 中,sudoers group
以便他们可以使用sudo
命令。
另一个不太明显的指标是所述文件的 ,只有当我们对文件ownership
运行命令时才会看到,当然还有该文件的位置。这通常表明它需要以 的身份运行。任何外部位置通常都需要提升权限才能运行或操作。ls -l
root
user home
答案2
另外,简单而安全的解决方案是不以 root 身份运行任何程序。当您收到如下错误消息时:
E: Could not open lock file /some/path/to/file - open (13: Permission denied)
这意味着该命令需要 root 权限。