Ubuntu에서 다른 사용자로 프로그램을 실행하여 실행 하려고 하면 chpst
다음 오류가 발생합니다.
$ chpst -u www-data sh -c whoami
chpst: fatal: unable to setgroups: permission denied
명령을 실행하려는 사용자는 sudoers
파일에 있으며 모든 명령을 실행할 수 있는 권한이 있습니다( %sudo ALL=NOPASSWD: ALL
).
또한 www-data
및에는 사용자와 그룹이 모두 존재합니다./etc/passwd
/etc/group
누구든지 a) chpst가 불만을 제기하는 내용과 b) 위의 실행 whoami
결과가 나오도록 이 문제를 해결하는 방법을 돕고 명확히 할 수 있습니까 www-data
?
답변1
%sudo ALL=NOPASSWD: ALL
이는 sudo 시스템 그룹에 속한 모든 사용자가 비밀번호 없이 루트 명령을 실행할 수 있음을 의미합니다.
하지만 실행하려는 명령 앞에 "sudo"를 사용해야 합니다. 또한 명령을 실행하려는 사용자가 sudo 그룹에 속해 있는지 확인해야 합니다. id 명령이 도움이 될 수 있습니다.
Sample@test:~$id uid=1202(샘플) gid=1202(샘플) groups=1202(샘플),4(adm),27 (스도),102(시스템 로그)
사용자가 sudo 그룹에 속하지 않은 경우
usermod -a -G sudo your_user
해당 사용자를 sudo 그룹에 추가합니다.
따라서 사용자가 sudo에 속해 있음을 확인하면 다음과 같은 명령을 실행하십시오.
sudo chpst -u www-data sh -c whoami