web-dev-qa-db-ja.com

「Sudo su」と「Sudo fish」の違い

私は、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を使用してシステムを暗号化する可能性はありますか?これを使用すると、ホームディレクトリ内のファイルに所有者の変更が加えられますか?

2
uloco

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'-どちらが使用されるか、または何が問題になるか

どちらを使用すべきかはあなた次第です:

  • Rootとしてシステムにログインするかのように、rootの環境が必要ですか?次に、Sudo suを呼び出します。
  • シェルのrc-scritpsで定義されているエイリアスなどのように、環境を保持しますか?次に、Sudo fishを使用します。

Sudo fishを使用してシステムを暗号化する可能性はありますか?

その環境だけで、何かを暗号化することはありません。

これを使用すると、ホームディレクトリ内のファイルに所有者の変更が加えられますか?

手動で何かを変更しないといけません。

3
chaos
Sudo su

su-ユーザーIDを変更するか、スーパーユーザーになります

Sudo bash

bash-GNU Bourne-Again Shell

Sudo fish

fish-OS X、Linux、およびその他のファミリー向けのスマートでユーザーフレンドリーなコマンドラインシェルです。

enter image description here

http://en.wikipedia.org/wiki/Unix_Shell#Shell_categories

Bourne-Again Shell(bash)とFriendly interactive Shell(fish)はどちらもシェルタイプです。

1
mertyildiran