私は、bashではなくUbuntu 14.04で標準のシェルとしてfish(Friendly Interactive Shell)を実行しています。
次の動作に気づきましたが、これらのいずれかがルートアクセスを取得するのに適しているかどうかはわかりません。
コマンドSudo su
またはSudo fish
を入力すると、両方ともスーパーユーザー権限が付与されます。 (プロンプトはroot@ubuntu ~#
として表示されます)
これらのコマンドの動作に違いはありますか?
私が理解できる唯一のことは、Sudo su
は/root/.config/fish/
にある魚の構成を使用し、Sudo fish
は私のホームディレクトリ/home/uloco/.config/fish
にある魚の構成を使用することです。
Sudo fish
を使用してシステムを暗号化する可能性はありますか?これを使用すると、ホームディレクトリ内のファイルに所有者の変更が加えられますか?
Sudo su
は、rootユーザーであるかのようにsu
を実行します。つまり、開かれるシェルは、6番目のフィールドの/etc/passwd
のユーザーのエントリで指定されたシェルです。システムのrootユーザーの場合、/bin/fish
である可能性があります。そのシェルはログインシェルとして実行されるため、rootユーザーのrcスクリプトが実行されます。
Sudo fish
を実行すると、アプリケーションfish
(シェル)は、rootユーザーであるかのように実行可能ですbut呼び出し元ユーザーの環境内。 fishsのrcスクリプトが実行される理由です。
この答えの完全な説明を参照してください: 'Sudo su-' vs 'Sudo -i' vs 'Sudo/bin/bash'-どちらが使用されるか、または何が問題になるか
どちらを使用すべきかはあなた次第です:
Sudo su
を呼び出します。Sudo fish
を使用します。Sudo fishを使用してシステムを暗号化する可能性はありますか?
その環境だけで、何かを暗号化することはありません。
これを使用すると、ホームディレクトリ内のファイルに所有者の変更が加えられますか?
手動で何かを変更しないといけません。
Sudo su
su-ユーザーIDを変更するか、スーパーユーザーになります
Sudo bash
bash-GNU Bourne-Again Shell
Sudo fish
fish-OS X、Linux、およびその他のファミリー向けのスマートでユーザーフレンドリーなコマンドラインシェルです。
http://en.wikipedia.org/wiki/Unix_Shell#Shell_categories
Bourne-Again Shell(bash)とFriendly interactive Shell(fish)はどちらもシェルタイプです。