我如何知道命令是否需要以 root 身份运行?

我如何知道命令是否需要以 root 身份运行?

手册中并不总是写得很清楚,有什么办法可以找到它吗?

有时,一些必须以 root 身份执行的命令会返回奇怪的错误消息,而且这并不总是很清楚。

答案1

当我阅读(正确编写的)手册时,我通常会看到要运行的命令附带两件事,它们是:

  • #, 和
  • sudo

这些通常表示该文件只能使用 root 权限运行。#通常表示正在使用 root 帐户,另一个 (sudo) 表示用户应该处于 中,sudoers group以便他们可以使用sudo命令。

另一个不太明显的指标是所述文件的 ,只有当我们对文件ownership运行命令时才会看到,当然还有该文件的位置。这通常表明它需要以 的身份运行。任何外部位置通常都需要提升权限才能运行或操作。ls -lrootuser home

答案2

另外,简单而安全的解决方案是不以 root 身份运行任何程序。当您收到如下错误消息时:

E: Could not open lock file /some/path/to/file - open (13: Permission denied)

这意味着该命令需要 root 权限。

相关内容