root以外のユーザーとしてこれを実行すると(ただし、sudoersファイルでは)sudo -i
root権限が得られます。
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を使用する#
ことの違いは何ですか$
?
これはDebianシステムにありますが、コマンドにDebian特有のものがないとsu
思います。sudo
\$
ルートユーザーに特に関わっているのだろうか。 #を表示し、root以外のユーザーは$を表示する必要があります。
更新:$PS1
forがaで終わるのではなくにsudo -i
設定されているため、これが問題の原因です。これで、すべてのファイルがすっきりして、どの設定が正しくないかを確認できます。\h:\[\e[1;34m\]\w\[\e[0m\]$
\$