루트가 아닌 사용자로 이 작업을 수행하면(그러나 sudoers 파일에서는) sudo -i
루트 권한을 얻습니다.
laptop:~$ sudo -i
[sudo] password for bjmgeek:
laptop:~$ whoami
root
laptop:~$ id
uid=0(root) gid=0(root) groups=0(root)
laptop:~$
그러나 프롬프트에는 $
(일반적으로 루트를 의미) 대신 #
(일반적으로 일반 사용자를 의미)이 계속 표시됩니다.
그러나 이렇게 하면 sudo su -
루트가 되지만 # 프롬프트가 표시됩니다.
laptop:~$ sudo su -
-bash-5.2# whoami
root
-bash-5.2# id
uid=0(root) gid=0(root) groups=0(root)
매뉴얼 페이지에 따르면 su -
쉘을 로그인 쉘로 시작하십시오. 그리고 매뉴얼 페이지에 따르면 sudo -i
쉘을 로그인 쉘로 시작하십시오. 그러면 힌트를 얻기 위해 a를 사용하는 것과 힌트를 얻기 위해 a를 사용하는 #
것의 차이점은 무엇입니까 $
?
이것은 데비안 시스템에 있지만 명령에 데비안 특유의 것이 없다고 su
생각 합니다 .sudo
\$
루트 사용자와 특별히 관련된 것인지 궁금합니다. #을 표시하고 루트가 아닌 사용자는 $를 표시해야 합니다.
업데이트: $PS1
for가 a로 끝나는 대신 sudo -i
으로 설정되어 있으므로 이것이 문제의 원인입니다. 이제 모든 파일을 샅샅이 뒤져 어떤 설정이 올바르지 않은지 확인하면 됩니다.\h:\[\e[1;34m\]\w\[\e[0m\]$
\$