우분투 10.04를 사용하고 있습니다.
터미널에서 " sudo -s "를 실행 한 후 프롬프트가
" XXX @ XXX "
에
" root @ XXX ",
루트 권한으로 변경된 것 같습니다.
그러나 여기서 "sudo"명령의 문서를 확인할 때 "sudo-s"에 대한 또 다른 이야기를 설명 할 수 있습니다. 누군가 " sudo -s "가 정확히 무엇을하고 있는지 설명해 줄 수 있습니까?
sudo
Ubuntu에 한정된 것은 아닙니다.
우분투 10.04를 사용하고 있습니다.
터미널에서 " sudo -s "를 실행 한 후 프롬프트가
" XXX @ XXX "
에
" root @ XXX ",
루트 권한으로 변경된 것 같습니다.
그러나 여기서 "sudo"명령의 문서를 확인할 때 "sudo-s"에 대한 또 다른 이야기를 설명 할 수 있습니다. 누군가 " sudo -s "가 정확히 무엇을하고 있는지 설명해 줄 수 있습니까?
sudo
Ubuntu에 한정된 것은 아닙니다.
답변:
sudo -s
$SHELL
환경 변수에 지정된 쉘을 수퍼 유저 / 루트로 실행합니다. 을 사용하여 다른 사용자를 지정할 수 있습니다 -u
.
$SHELL
환경 변수는 사용자의 기본 로그인 쉘의 경로가 포함되어 있습니다. 기본 쉘 프로그램의 실제 설정은 보통입니다 etc/passwd
. 현재 세션에서 수행 한 작업에 따라 $ SHELL 변수에 현재 사용중인 쉘 프로그램이 포함되어 있지 않을 수 있습니다. 예를 들어 zsh로 자동 로그인 한 다음 bash를 호출하면 $ SHELL은에서 변경되지 않습니다 /bin/zsh
.
현재 사용자 및 쉘 프로그램을 표시하십시오.
echo $(whoami) is logged in and shell is $0
whoami
사용자가 작업중인 사용자 이름을 인쇄합니다.$0
현재 실행중인 프로그램의 이름 / 경로를 포함합니다 (이 경우 쉘 프로그램).매뉴얼에서 :
sudo는 허용 된 사용자가 sudoers 파일에 지정된대로 수퍼 유저 또는 다른 사용자로 명령을 실행할 수 있도록합니다.
-s Shell, SHELL 환경 변수에 의해 지정된 쉘 (설정된 경우) 또는 passwd (5)에 지정된 쉘을 실행합니다.
보다 심각하게 sudo -s는 쉘 환경 변수를 실행합니다. 변수를 추가하지 않았으므로 passwd에 지정된대로 실행되므로 루트로 연결하십시오.
-u
이를 배우려면 옵션에 대한 설명을 읽어야합니다 . 그러나에 익숙하지 않은 사람은 sudo
을 보는 것을 모른다 -u
.
수퍼 유저의이 게시물을 살펴보십시오.
"su -s"와 "sudo -s"명령의 차이점은 무엇입니까?
그건 그렇고, 귀하의 게시물은 수퍼 유저 (또는 의견에 명시된 askubuntu)로 이동해야합니다!