将某些命令分配给用户
Assigning certain commands to users
我只想允许 "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 命令时,我收到一条错误消息,提示我没有正确的访问权限。
我该如何解决这个问题?
"access right" 可能不同于 "command execution right"
git 仍然可以 运行 git 命令,但可能无法更新不属于 git/git 组的文件夹。
这就是为什么你有像“Allow User 'git' to run 'git pull' as 'www-data
' via sudo”这样的问题,为了让
sudo -u www-data git <a command>
在您的情况下,由于您指定了 (ALL)
,请检查您的访问错误是否随着正确的 sudo -u <auser>
而消失,当您在 运行 命令中使用 git
不属于 git
.
的文件夹
我只想允许 "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 命令时,我收到一条错误消息,提示我没有正确的访问权限。 我该如何解决这个问题?
"access right" 可能不同于 "command execution right"
git 仍然可以 运行 git 命令,但可能无法更新不属于 git/git 组的文件夹。
这就是为什么你有像“Allow User 'git' to run 'git pull' as 'www-data
' via sudo”这样的问题,为了让
sudo -u www-data git <a command>
在您的情况下,由于您指定了 (ALL)
,请检查您的访问错误是否随着正确的 sudo -u <auser>
而消失,当您在 运行 命令中使用 git
不属于 git
.