sudo -i는 sudo su -와 다르게 동작합니다.

sudo -i는 sudo su -와 다르게 동작합니다.

루트가 아닌 사용자로 이 작업을 수행하면(그러나 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

\$루트 사용자와 특별히 관련된 것인지 궁금합니다. #을 표시하고 루트가 아닌 사용자는 $를 표시해야 합니다.

업데이트: $PS1for가 a로 끝나는 대신 sudo -i으로 설정되어 있으므로 이것이 문제의 원인입니다. 이제 모든 파일을 샅샅이 뒤져 어떤 설정이 올바르지 않은지 확인하면 됩니다.\h:\[\e[1;34m\]\w\[\e[0m\]$\$

관련 정보