나는 sudo 그룹에 있습니다.
$ id
uid=1002(molot) gid=1002(molot) groups=1002(molot),27(sudo),33(www-data)
내 sudores에서 나는 적절한 설정을 가지고있는 것 같습니다 :
sudo ALL=(ALL:ALL) NOPASSWD: ALL
그리고 주석이없는 마지막 줄입니다.
git pull
그러나을 시도 할 때 비밀번호를 다시 입력해야합니다.
$ sudo -u www-data git --git-dir /var/www/.git --work-tree /var/www pull "origin" master
[sudo] password for molot:
콘솔에 로그인 할 때 문제가되지 않지만 스크립트에서는 허용되지 않습니다. 그렇다면 sudo 그룹의 모든 사람이 암호를 다시 입력하지 않고 www-data로 git pull을 허용하는 방법은 무엇입니까?
내 이름을 직접 입력하면 :
molot ALL=(ALL) NOPASSWD: ALL
그것은 나를 위해 작동합니다. 그러나 sudo 그룹의 marian 또는 다른 사용자에게는 해당되지 않습니다. manual을 이해 하는 한 사용자 이름과 그룹 이름이 첫 번째 파일에서 작동해야합니다.
@ jimbobmcgee 그것은 git hook이므로 아니오, 나는 그것에 덧붙일 수 없습니다. git 변경을 푸시 한 사용자가 호출했으며 실제로 그 방법을 찾지 못했습니다.
—
Mołot
첫 번째 필드 (
—
CVn
sudoers
파일 형식 에 대한 빠른 이해 가 올바른 경우)는 호출하는 사용자의 사용자 이름입니다. 와일드 카드로 바꾸려고 *
했거나 git hook이 실행되는 사용자는 누구입니까?
@ MichaelKjörling 감사합니다. 귀하의 의견으로 특수 문자를 찾고 답을 찾을 수있었습니다.
—
Mołot
sudo -u www-data ./your_script.sh
? 스크립트의 목적은 무엇입니까?