GNU/Linux >> Linux の 問題 >  >> Ubuntu

sudoとsuの違いの説明

はじめに

sudo およびsu コマンドは、すべてのLinuxユーザーが遭遇するコマンドのグループに属しています。それらは構文が似ており、機能が重複しているため、多くの新規ユーザーは、どちらをいつ使用するかわからない。

このチュートリアルでは、suの違いについてすべて学びます およびsudo

sudo vs su

両方のsu およびsudo 現在のユーザーに割り当てられている特権を昇格させます。

2つの主な違いは、 su sudoの場合、ターゲットアカウントのパスワードが必要です 現在のユーザーのパスワードが必要です。したがって、 sudoを使用する方がはるかに安全です。 機密情報の交換が含まれていないためです。

さらに、 sudoに固執することをお勧めします ルート権限を必要とするタスクを実行する場合。そうすることで、現在のユーザーには、指定されたコマンドに対する特権のみが付与されます。一方、 su rootユーザーに完全に切り替わり、システム全体が誤って変更される可能性があります。

suコマンドの使用方法

su コマンドはsubstituteuserの略です 、およびこれは主に、あるユーザーから別のユーザーに切り替えるために使用されます。これは、現在のディレクトリと環境( su)でログインシェルを開始することによって行われます。 )またはターゲットユーザーの設定に完全に変更する( su - )。

主な構文は次のとおりです。

su [user_name]

または

su - [user_name]

コマンドを引数なしで使用すると、スーパーユーザー( root )に切り替わります。 )アカウント。

suコマンドはどのように機能しますか?

作業ディレクトリ/ユーザー環境内で別のユーザーのシェルを呼び出すには、 suを使用します コマンド(ハイフンなし)。

たとえば、 phoenixnapという名前のユーザーとして操作するには 、実行:

su phoenixnap

次に、 phoenixnapのパスワードを入力します アカウントを作成してEnterを押します 。

シェルが変更され、指定されたアカウントへのオペレーターアクセス権があることが表示されます。ただし、下の画像のように、ユーザー環境は同じままです。

su – [ハイフン]コマンドはどのように機能しますか?

別のユーザーに移動してそのターゲットユーザー環境に切り替えるには、 su -を使用します コマンド。

したがって、フェニックスナップに切り替えるには ユーザーを使用してログインシェルに移動し、次のコマンドを入力します:

su - phoenixnap

phoenixnapのパスワードを入力します アカウントを作成してEnterを押します 確認するために。次の画像のように出力が表示されます。

sudoコマンドの使用方法

sudo Linuxコマンドのプレフィックスとして使用されます。これにより、ログインしたユーザーはroot権限を必要とするコマンドを実行できます。 suとは異なり sudo Linuxのコマンドでは、コマンドを実行するユーザーのパスワードを指定する必要があります。

すべての管理タスクと実行可能タスクには、最大の権限(rootが保持)が必要です。このような場合は、 sudoを使用することをお勧めします

主な構文は次のとおりです。

sudo [command]

システムはコマンドを実行する前に、現在のユーザーのパスワードを要求します。

sudo このオプションは、 sudoersに属するユーザーのみが使用できます。 グループ。

Sudoersグループへのユーザーの追加

ユーザーがsudoを必要とするコマンドを実行するため プレフィックス、 sudoersの一部である必要があります グループ。

sudoersにユーザーを追加するには グループで、次のコマンドを実行します(rootまたはsudo権限を既に持っているアカウントとして):

usermod -aG sudo [user_name]

たとえば、アカウントを追加するには phoenixnap 、次のように入力します:

sudo usermod -aG sudo phoenixnap

sudoersグループに属するアカウントのリストを表示するには、次のコマンドを実行します。

sudo getent group sudo

出力には、前の手順で追加されたアカウントが表示されます。

sudoとsuがさまざまなLinuxディストリビューションでどのように機能するか

su は古いですが、すべてのLinuxディストリビューションに含まれているより完全な機能を備えたコマンドです。これは、rootアカウントに切り替える従来の方法です。

Linuxは、システム全体に不要な変更を加える可能性があるため、rootとして機能することをお勧めしません。また、 sudoの使用をお勧めします。 代わりは。このため、すべてのUbuntuベース リリースはsudoのみです 、つまり、rootアカウントはデフォルトではアクティブではありません。

Ubuntu OSのインストール中に、sudoersグループの一部として自動的にラベル付けされたユーザーを作成します。ただし、rootアカウントの設定はありません。 rootユーザーを有効にするには、手動でアクティブ化する必要があります。

一方、Fedoraなどの他のLinuxディストリビューションは、インストール時にrootアカウントとユーザーアカウントを作成します。

rootアカウントの有効化

Ubuntuベースのディストリビューションを使用していて、rootユーザーに切り替えようとすると、出力は認証の失敗があることを通知します。 。


rootユーザーをアクティブ化するには、passwdコマンドを実行します。

sudo passwd root

次に、出力はrootユーザーのパスワードを設定するように要求します。安全なパスワードを入力して再入力し、Enterキーを押します。パスワードが正常に更新されたことをシステムが通知する必要があります。

su -を使用してログインシェルに切り替えることにより、rootユーザーがアクティブであることを確認します

追加機能

sudo 主にroot権限でコマンドを実行することにリンクされていますが、rootユーザーを変更するためにも使用できます。 rootユーザーに切り替えて、次のコマンドでroot環境を取得します。

sudo -i

現在使用しているユーザーのパスワードを入力します。これでルートシェルにいるはずです。

同様に、 su sudoとしても機能します ルートとして単一のコマンドを実行します:

su -c [command]

Ubuntu
  1. Sudo Su –とSudo Su —の違いは何ですか?

  2. 通常のユーザーとシステムユーザーの違いは何ですか?

  3. NssとPamの違いは?

  1. SudoとGksuの違いは、Sudo-iとSudo-sの違いと同じですか?

  2. LubuntuとLxdeの違いは?

  3. ls と l はどう違いますか?

  1. [[$ a ==Z*]]と[$a==Z *]の違いは?

  2. ユーザーアカウントとサービスアカウントの違いは?

  3. unlink と rm の違いは何ですか?