sudo -i에서 오류가 발생함

sudo -i에서 오류가 발생함

user1을 생성하고 을(를) 사용하여 사용자를 user2 계정으로 전환하려고 했습니다 sudo -i user2. 하지만 다음 오류가 발생합니다.

Sorry, user user1 is not allowed to execute '/bin/bash -c user2' as root on hostname.

이와 관련하여 저를 도와주세요.

답변1

sudo -i user2user2전혀 전환하지 마십시오. 말 그대로 " user2루트 로그인 환경과 일치하는 환경에서 루트로 명령을 실행한다"는 의미입니다.

로 전환하려면 user2명령에 이 -u user2옵션이 포함되어야 합니다.

그래도 작동하지 않으면 sudo -iu user2명령을 추가로 수정할 수 있는 일종의 스크립트, 별칭 또는 셸 함수가 있습니까? 이 명령을 실행할 때 type -a sudo또는 실행하여 실제로 실행되는 내용을 확인하십시오 .command -v sudo

또는 매우 오래된 시스템을 사용하는 경우 최신 시스템처럼 모든 옵션을 이해하지 못할 수도 있습니다 sudo. 하지만 이는 시스템이 20년이 넘었다는 것을 의미합니다.

실행해 보세요 . 귀하에게 적용되는 현재 항목이 sudo -l모두 나열되어야 합니다 ./etc/sudoers

/etc/sudoersuser1셸을 실행하는 데 허용되는 항목 user2은 다음과 같습니다.

user1 ALL=(user2) /bin/bash

또는 임의의 명령이 실행되도록 허용하십시오 user2.

user1 ALL=(user2) ALL

(첫 번째는 ALL호스트 이름을 나타냅니다. 공유 파일을 사용하는 대규모 환경이 아닌 이상 sudoers일반적으로 사용되지 않으며 호스트 이름 확인에 문제가 있을 경우 어려움을 ALL피하기 위해 자리 표시자로 사용됩니다 .)sudo

답변2

스도매뉴얼 페이지-u다른 사용자로 전환하려면 이 옵션을 사용해야 함을 나타냅니다 .

이 작업을 수행하는 방법에 대한 설명서도 참조하세요. 구성Sudo 권한.

관련 정보