更改了终端权限

更改了终端权限

由于未知原因,我突然必须使用 sudo 执行大多数终端命令。例如,我一直能够毫无问题地运行“git pull/push”等。现在,我得到“许可被拒绝”。有什么办法可以将权限重置为默认值吗?我正在使用 OS X Yosemite。

答案1

sudo正如在第一个答案中一样,您已在个人空间中使用提升的命令 运行了各种命令。现在,您的个人空间中的目录不是由您拥有,而是由 root 拥有。如果您cd不带任何参数键入,您将被带到个人空间的底部(它开始的地方)并能够使用命令查看它pwd

在许多系统上,默认情况下您的个人空间将是/home/[您的用户名]。

您可以have to execute most terminal commands using sudo通过恢复对整个主目录的访问来解决此问题。

为此,首先转到您的主目录,然后使用cd ...

现在执行这个命令:

$ sudo chown -R [your username] [your username]

如果您的用户名是 ljames,您可以按照以下顺序执行此操作:

$ cd ~ljames
$ cd ..
$ sudo chown -R ljames ljames

有多种方法可以做到这一点。我思考了这些细节,以帮助您了解发生变化的地方。您可以使用以下命令在一个命令行中有效地执行此操作:

$ sudo chown -R ljames ~ljames

现在,当您在自己的个人空间中工作时,您不应该遇到这些permission denied错误。只有当您在个人区域之外工作(即所谓的 )时,才应拒绝您的许可system wide。您必须使用提升的命令sudo来对这些区域进行更改。

答案2

这将取决于您尝试修改的文件夹/文件的权限,而不是命令本身。您可能运行过一次 git 命令sudo,并将所有权更改为 root。如果您将 的输出发布到存储库ls -l上,我可以给您更具体的答案git

假设问题就是我上面描述的问题,您可以通过将所有权更改回您的用户来修复它(替换UserFoo为您的实际用户名):

chown -R UserFoo /path/to/git/folder 

相关内容