始终需要在终端中使用“sudo”


1

最近我注意到每次我尝试使用像“mkdir”这样的命令时,在没有“sudo”的情况下使用时会得到“许可被拒绝”。我想这是因为我没有作为管理员连接,只是因为我担心(以及系统首选项“帐户”窗口)我是。

只有在我不使用计算机的某段时间后才会发生这种情况。

知道为什么会这样吗?

谢谢。

编辑: 问题仅发生在MAMP PRO使用的特定文件夹中。 MAMP有自己的权限设置页面,但当我将所有者控件更改为admin时,PHP上传不起作用。当我将其更改为_www时,与此文件夹相关的所有内容都需要身份验证。


你忘了问一个问题。
David Schwartz

1
好吧,我描述了一个问题,并寻找一个解决方案,无论如何编辑,所以它现在更清楚。谢谢。
AdamGold

Answers:


3

如果你不使用 sudo,您拥有自己的用户帐户的权限。如果你使用 sudo,你有root权限。

你是否可以做一个 mkdirsudo 取决于当前目录的所有权和权限。如果您所在的目录(例如您的主目录),您应该能够 mkdir 没有任何问题。

注意 sudo mkdir 除了提高您的权限级别之外还有其他效果。它运行 mkdir 命令下 root account - 表示新创建的目录将归其所有 root不是你。如果你习惯性地使用 sudo mkdir,您将创建您无权从自己的用户帐户修改的目录。

ls -ld DIRNAME 查看任何目录的所有权和权限。

在您自己的主目录下的任何地方拥有root拥有的文件或目录很少有意义( ~$HOME )。如果您不小心创建了此类文件或目录,则可以使用

sudo chmod $USER ...

将所有权更改回您自己的帐户。

并且不要使用 sudo 除非你真的需要。


我是管理员,事情是我需要输入密码来验证我所做的每一个操作,不仅仅是在终端 - 当我移动文件并重命名时。这种情况仅在我不使用计算机的一定时间(1-2小时)之后发生。
AdamGold

2
我认为做“管理员”只是意味着你 能够 使用 sudo。当你跑步 sudo ... 并输入您的密码,它会记住它15分钟(除非它的配置不同)。您在主目录或其他地方操作这些文件吗?
Keith Thompson

他们在我的主目录下。
AdamGold

@AdamGold:通常,你永远不需要使用 sudo 操纵主目录下的文件;它们都应归您的用户帐户所有。如果他们属于 root,这可能是因为你已经习惯了 sudo 不必要的。
Keith Thompson

好的,我将删除我用sudo创建的文件夹,并将手动创建它。如何解决权限问题?
AdamGold
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.