다음 명령 ls
으로 사용자 로 실행하려고 abc
하면 오류가 발생합니다.
xyz@host:~/temp$ sudo -u abc ls
[sudo] password for xyz:
Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host.
그러나 내가 su abc
하고 실행하면 ls
아무런 문제가 없습니다.
다음 명령 ls
으로 사용자 로 실행하려고 abc
하면 오류가 발생합니다.
xyz@host:~/temp$ sudo -u abc ls
[sudo] password for xyz:
Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host.
그러나 내가 su abc
하고 실행하면 ls
아무런 문제가 없습니다.
답변:
사용자 xyz exec가 사용자 abc와 같은 것을 허용하도록 sudo 보안 정책을 구성해야합니다. 'man sudoers'를 읽고 visudo 명령을 사용하여 / etc / sudoers를 구성하십시오.
예를 들어 사용자 xyz exec / usr / bin / whoami를 암호없이 사용자 abc로 허용하도록하겠습니다. 이 문자열을 / etc / sudoers에 추가하십시오 (viss를 사용하면 / etc / sudoers를 직접 편집하지 마십시오).
xyz ALL = (abc) NOPASSWD: /usr/bin/whoami
이제 테스트 해보십시오.
xyz@host:~$ sudo -u abc /usr/bin/whoami
abc
모든 것이 잘 보이지만 여전히 Sorry user xxx cannot execute...
메시지 가 표시되고 sudo
매번 비밀번호 를 묻는 메시지가 계속 표시 됩니다.
당신은 이것을 할 수 있습니다 :
/etc/sudoers
사용자 설정을 삭제 라인이것은 나를 위해 일했습니다. 이메일에서 실행이 필요한 명령을 복사했기 때문에 그 줄의 결말이 좋지 않은 것으로 나타났습니다.
visudo
처음부터 편집하는 데 사용했다면 , 그런 말을 들었습니까?