사용자로 sudo를 실행할 때 루트와 같은 권한이 충분하지 않은 이유는 무엇입니까?

사용자로 sudo를 실행할 때 루트와 같은 권한이 충분하지 않은 이유는 무엇입니까?

다음은 실패합니다.

sudo -u chris ls /root
ls: cannot open directory '/root': Permission denied

다음은 성공합니다.

sudo ls /root
...

왜 그런지 이해가 안 돼요. 루트 권한을 갖는 것 외에도 -u/running 사용자를 제공된 매개변수로 변경하면 문제가 해결될 것이라고 가정합니다. $USER이 행동의 이유는 무엇입니까?

답변1

sudo -u chrischrisroot 대신 user로 주어진 명령을 USER실행합니다 chris. 따라서 chris액세스할 수 없는 경우 /root에는 sudo -u chris변경되지 않습니다.

바라보다man sudo:

-유 사용자,- 사용자=사용자

기본 대상 사용자가 아닌 사용자로 명령을 실행합니다(일반적으로뿌리).

sudo이는 특별히 "루트로 실행" 도구가 아니라 "다른 사용자 또는 그룹으로 실행" 도구입니다.

답변2

스도명령은 기본적으로 루트라는 특정 사용자로 실행됩니다. 이 -u옵션은 이 경우 루트가 아닌 사용자를 선택하므로 항상 루트라는 의미는 아닙니다 . 루트가 되려면 명령 sudo(예 sudo chown chris:chris ~: )을 실행하거나 해당 명령을 사용하여 su사용자를 루트로 전환한 다음 종료를 실행하여 사용자에게 돌아갈 수 있습니다.

답변3

스도:에스상위 레이어세레하다 사용자에게 시스템 명령을 실행할 수 있는 권한을 부여하는 방식입니다.

Chris가 호스트라면 이것을 시도해 보세요

sudo -h chris  ls -l /root

-h, --help 도움말 메시지 표시 및 종료

-h, --host=host 호스트에서 명령 실행(플러그인이 지원하는 경우)

drwxr-xr-x 2 root root 4096 Jan 18 23:52 Desktop
drwxr-xr-x 2 root root 4096 Jan 18 23:52 Documents
drwxr-xr-x 2 root root 4096 Jan 18 23:52 Downloads

              

아니면 "루트"를 제거할 수도 있습니다.

sudo -u chris  ls -l /

왼쪽 오른쪽 오른쪽 오른쪽 오른쪽 오른쪽 오른쪽 1겐겐 2018년 1월 7일 20:32 bin -> usr/bin

~에서http://www.linfo.org/root_directory.html

"루트 디렉터리는 시스템의 다른 모든 디렉터리와 파일을 포함하고 다음과 같이 표시되는 Unix 계열 운영 체제의 디렉터리입니다.슬래시( / ).

이 경우 디렉토리가 디렉토리 트리 다이어그램 ""의 맨 위에 있기 때문에 "루트"라는 단어가 사용됩니다.

관련 정보