user1을 생성하고 을(를) 사용하여 사용자를 user2 계정으로 전환하려고 했습니다 sudo -i user2
. 하지만 다음 오류가 발생합니다.
Sorry, user user1 is not allowed to execute '/bin/bash -c user2' as root on hostname.
이와 관련하여 저를 도와주세요.
답변1
sudo -i user2
user2
전혀 전환하지 마십시오. 말 그대로 " user2
루트 로그인 환경과 일치하는 환경에서 루트로 명령을 실행한다"는 의미입니다.
로 전환하려면 user2
명령에 이 -u user2
옵션이 포함되어야 합니다.
그래도 작동하지 않으면 sudo -iu user2
명령을 추가로 수정할 수 있는 일종의 스크립트, 별칭 또는 셸 함수가 있습니까? 이 명령을 실행할 때 type -a sudo
또는 실행하여 실제로 실행되는 내용을 확인하십시오 .command -v sudo
또는 매우 오래된 시스템을 사용하는 경우 최신 시스템처럼 모든 옵션을 이해하지 못할 수도 있습니다 sudo
. 하지만 이는 시스템이 20년이 넘었다는 것을 의미합니다.
실행해 보세요 . 귀하에게 적용되는 현재 항목이 sudo -l
모두 나열되어야 합니다 ./etc/sudoers
/etc/sudoers
user1
셸을 실행하는 데 허용되는 항목 user2
은 다음과 같습니다.
user1 ALL=(user2) /bin/bash
또는 임의의 명령이 실행되도록 허용하십시오 user2
.
user1 ALL=(user2) ALL
(첫 번째는 ALL
호스트 이름을 나타냅니다. 공유 파일을 사용하는 대규모 환경이 아닌 이상 sudoers
일반적으로 사용되지 않으며 호스트 이름 확인에 문제가 있을 경우 어려움을 ALL
피하기 위해 자리 표시자로 사용됩니다 .)sudo