【发布时间】:2013-06-07 22:46:08
【问题描述】:
我遇到了一个奇怪的权限问题。似乎以特定用户身份登录时,我拥有与 sudo su 进入该用户时不同的权限。
使用su变成quantka会导致git权限错误:
sudo su quantka -c "git fetch"
conq: repository access denied.
fatal: The remote end hung up unexpectedly
但只是在 quantka 工作时登录:
quantka@quantka:~$ whoami
quantka
quantka@quantka:~$ git fetch
quantka@quantka:~$
为了增加神秘感,这也有效:
quantka@quantka:~$ su quantka -c "git fetch"
Password:
但这不是一个可行的解决方案,因为这需要从脚本运行,无法提示输入密码。
我认为这些应该是相同的?
【问题讨论】:
-
首先,
sudo su很奇怪。sudo所做的是以另一个用户身份执行命令,所以你应该做sudo -u quantka git fetch。其次,sudo与安全环境混为一谈。你的问题似乎是 git 没有找到正确的公钥,但我不确定是什么导致了这个问题…… -
你说得对,这是一件很奇怪的事情。我这样做的原因(这可能有点令人费解)是因为我真正想做的是使用在启动时运行的脚本(具有 root 权限)调试权限问题。无论如何,我尝试了您的建议
sudo -u quantka git fetch并得到了相同的权限被拒绝错误。
标签: git ubuntu permissions sudo su