我有这个命令
chroot /chroots/box /bin/bash -c 'cd /repos/system && git pull'
我试图在/ etc / sudoers中写入
user ALL = (root) NOPASSWD: chroot /chroots/box /bin/bash -c 'cd /repos/system && git pull'
但是这并没有奏效。 在我见过的日志里
sudo: user : command not allowed ; TTY=pts/7 ; PWD=/home/user ; USER=root ; COMMAND=chroot /chroots/box /bin/bash -c cd /repos/system && git pull
我也尝试在sudo调用中像“ \'那样转义引号,并且在日志文件中出现了相同的错误。
这个repo会影响chroot的根文件系统,所以我不能从外面调用git pull。
简单的解决scheme是把你的命令放在一个脚本中,然后让你的用户通过sudo访问脚本。
user ALL = (root) NOPASSWD: /path/to/yourscript
然后
#/bin/bash chroot /chroots/box /bin/bash -c 'cd /repos/system && git pull'
确保您的用户没有写入访问权限。