将某些命令分配给用户

时间:2017-08-15 20:35:24

标签: git ubuntu command sudoers

我想只允许“git”使用能够运行git命令,我使用sudo visudo编辑了我的sudoers文件并添加了

# Cmnd alias specification
Cmnd_Alias GIT_CMDS = /usr/bin/git

# User privilege specification
root    ALL=(ALL:ALL) ALL
git ALL=(ALL) NOPASSWD: GIT_CMDS

当我尝试从git用户运行git命令时,我收到一条错误消息,说我没有正确的访问权限。 我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

"访问权限"可能与"命令执行权"

不同

git仍然可以运行git命令,但可能无法更新不属于git / git组的文件夹。

这就是为什么你有像#34; Allow User 'git' to run 'git pull' as 'www-data' via sudo"这样的问题,以便

 sudo -u www-data git <a command>

在您的情况下,由于您已指定(ALL),因此当您在不属于{{的文件夹中运行sudo -u <auser>命令时,请检查您的访问错误是否与正确的git一致。 1}}。