ホームページ » の仕方 » LinuxでのSudoとSuの違いは何ですか?

    LinuxでのSudoとSuの違いは何ですか?

    あなたがLinuxユーザーなら、おそらくsudoとsuの両方への参照を見たことがあるでしょう。 How-To Geekなどの記事では、Ubuntuユーザーにsudoを使用し、他のLinuxディストリビューションのユーザーにsuを使用するように指示していますが、違いは何ですか。?

    Sudoとsuは、root権限を取得するための2つの異なる方法です。各機能は異なる方法で動作し、異なるLinuxディストリビューションはデフォルトで異なる構成を使用します.

    rootユーザー

    suとsudoはどちらもroot権限でコマンドを実行するために使用されます。 rootユーザーは基本的にWindowsの管理者ユーザーと同等です - rootユーザーは最大の権限を持ち、システムに対して何でもすることができます。 Linuxの通常のユーザーは、権限を減らして実行します。たとえば、ソフトウェアをインストールしたり、システムディレクトリに書き込みをすることはできません。.

    これらの許可を必要とすることをするためには、suかsudoでそれらを獲得しなければなりません。.

    須vs須藤

    追加オプションなしで実行すると、suコマンドはスーパーユーザー(またはrootユーザー)に切り替わります。 rootアカウントのパスワードを入力する必要があります。ただし、これだけでsuコマンドが実行されるわけではありません。任意のユーザーアカウントに切り替えるために使用できます。実行すると スボブ コマンドを入力すると、Bobのパスワードを入力するように求められ、シェルはBobのユーザーアカウントに切り替えます。.

    ルートシェルでコマンドを実行し終えたら、次のように入力します。 出口 ルートシェルを終了して特権限定モードに戻る.

    Sudoはroot権限で単一のコマンドを実行します。実行したとき sudoコマンド, 実行する前に、現在のユーザーアカウントのパスワードを入力するように求められます。 コマンド rootユーザーとして。デフォルトでは、Ubuntuは15分間パスワードを記憶しており、15分間が経過するまでパスワードの再入力を要求しません。.

    これがsuとsudoの主な違いです。 Suはあなたをrootユーザーアカウントに切り替え、rootアカウントのパスワードを要求します。 Sudoはroot権限で単一のコマンドを実行します - rootユーザーに切り替えたり、別のrootユーザーパスワードを要求したりしません.

    Ubuntuと他のLinuxディストリビューション

    suコマンドは、Linuxでroot権限を取得するための伝統的な方法です。 sudoコマンドは長い間存在していましたが、Ubuntuはデフォルトでsudoだけになった最初のポピュラーなLinuxディストリビューションでした。 Ubuntuをインストールすると、標準のrootアカウントが作成されますが、パスワードは割り当てられません。 rootアカウントにパスワードを割り当てるまで、rootとしてログインすることはできません。.

    デフォルトでsuの代わりにsudoを使用することにはいくつかの利点があります。 Ubuntuユーザーは1つのパスワードを入力して記憶するだけでよいのに対し、Fedoraや他のディストリビューションではインストール中にrootとユーザーアカウントのパスワードを別々に作成する必要があります。.

    もう1つの利点は、rootユーザーとしてログインすること(またはsuを使用してrootシェルを取得すること)と、通常の作業を行うためにrootシェルを開いたままにすることをユーザーが妨げることです。 rootとして実行するコマンドの数を少なくするとセキュリティが向上し、システム全体の不慮の変更を防ぐ.

    Linux Mintを含むUbuntuベースのディストリビューションも、デフォルトでsuの代わりにsudoを使用します。.

    いくつかのトリック

    Linuxは柔軟性があるので、suをsudoと同じように動作させるのに多くの作業は必要ありません。.

    suを使用してrootユーザーとして単一のコマンドを実行するには、次のコマンドを実行します。

    su -c 'command'

    これは、sudoを使用してコマンドを実行するのと似ていますが、現在のユーザーアカウントのパスワードではなく、rootアカウントのパスワードが必要になります。.

    sudoを使って完全な対話型ルートシェルを作るには、次のコマンドを実行します。 sudo -i.

    rootアカウントのパスワードではなく、現在のユーザーアカウントのパスワードを入力する必要があります。.

    Ubuntuでrootユーザーを有効にする

    Ubuntuでrootユーザーアカウントを有効にするには、次のコマンドを使用してパスワードを設定します。 Ubuntuはこれに対して推奨していることを忘れないでください.

    sudo passwd root

    新しいパスワードを設定する前に、Sudoはあなたの現在のユーザーアカウントのパスワードの入力を促します。新しいパスワードを使用して、端末のログインプロンプトからrootとして、またはsuコマンドを使用してログインします。あなたは絶対に完全なグラフィカル環境をrootユーザとして走らせるべきではありません - これは非常に悪いセキュリティ慣行であり、そして多くのプログラムは動作することを拒否します.

    Sudoersファイルへのユーザーの追加

    sudoでコマンドを実行できるのは、Ubuntuの管理者タイプのアカウントだけです。ユーザーアカウントの設定ウィンドウからユーザーアカウントの種類を変更できます。.

    Ubuntuは自動的にインストール中に作成されたユーザーアカウントを管理者アカウントとして指定します.

    他のLinuxディストリビューションを使用している場合は、次のコマンドを実行してsudoを使用する許可をユーザーに付与できます。 ビズド root権限でコマンドを実行します。 最初または使用 su -c).

    次の行をファイルに追加します。 ユーザー ユーザーアカウントの名前を指定します。

    ユーザーALL =(ALL:ALL)ALL

    押す Ctrl-X その後 Y ファイルを保存します。ファイルに指定されているグループにユーザーを追加することもできます。ファイルで指定されたグループのユーザーは自動的にsudo特権を持ちます。.

    Suのグラフィカルバージョン

    Linuxはグラフィカルバージョンのsuもサポートしており、グラフィカル環境でパスワードを要求します。たとえば、次のコマンドを実行してグラフィカルパスワードプロンプトを表示し、Nautilusファイルブラウザをroot権限で実行できます。押す Alt-F2 端末を起動せずにグラフィカル実行ダイアログからコマンドを実行する.

    gksu nautilus

    gksuコマンドには他にもいくつかのトリックがあります - それはあなたの現在のデスクトップ設定を保存するので、あなたがそれらを別のユーザとして起動したときにグラフィカルプログラムは場違いに見えません。 gksuなどのプログラムは、root権限でグラフィカルアプリケーションを起動するのに適した方法です。.

    Gksuはあなたが使っているLinuxディストリビューションに応じて、suかsudoベースのバックエンドを使います。.


    あなたは今suとsudoの両方に遭遇する準備ができているはずです!異なるLinuxディストリビューションを使用している場合は両方に遭遇するでしょう.