この記事では、 sudo
の違いについて説明します。 およびsu
Linuxのコマンド。このビデオを見て、これらのコマンドについて学ぶこともできます。 su
で永続的にルートになる *nixユニバースでよく知られている「no-no」です。なんで? su
でrootになるため これは、rootであることを意味します。これは、rootのパスワードを使用してrootユーザーとして端末にログインするのと同じです。そして、それは多くの理由で危険です。
[次のこともお楽しみいただけます:Linuxコマンドラインの基本:sudo]
ルートとして機能するということは、次のことを行う力があることを意味します。
- 一部またはすべてのファイルを削除する
- 一部またはすべてのファイルの権限を変更する
- システムのランレベルを変更する
- ユーザーアカウントを変更する
- ファイルシステムのマウントまたはアンマウント
- ソフトウェアの削除またはインストール
- ファイルシステムの作成、削除、変更
基本的に、rootユーザーとしてシステムに対して何でもできます。強力な管理アカウントです。また、他のよりおしゃべりなオペレーティングシステムとは異なり、「よろしいですか?」は表示されません。 rm -rf *
を確認するためのダイアログ 発行したコマンドは/opt / tmp
にありました /
ではなく 。ご想像のとおり、rootユーザーとして発生したエラーは、元に戻せず、壊滅的なものになる可能性があります。別の方法があります: sudo
。
sudo
sudo
、これはスーパーユーザーdoまたは代替ユーザーdoの頭字語です。 は、IDを変更せずに昇格されたプロンプトを実行するコマンドです。 / etc / sudoers
の設定によって異なります ファイルの場合、rootまたは別のユーザーとして単一のコマンドを発行できます。ルートパワーでコマンドを実行し続けるには、常にsudoコマンドを使用する必要があります。たとえば、 Nginxをインストールする場合 パッケージ、実行します:
$ dnf install nginx
ただし、rootまたはsudoグループに属していない場合は、エラーが表示されます。代わりに、次のコマンドを実行した場合:
$ sudo dnf install nginx
パスワードの入力を求められます。sudoグループに参加している場合は、コマンドを実行できます。
rootユーザーとしてインタラクティブセッションに切り替える簡単な方法は次のとおりです。
$ sudo -i
sudoの使用の背後にある理論は、実行するコマンドの前にsudoコマンドを発行することで、実行していることについてより深く考え、無制限の権限を持つアカウントでミスを減らすことができればと考えています。
su
su
一方、はswitchuserまたはsubstituteuserの頭字語です。 。基本的に特定のユーザーに切り替えており、切り替え先のユーザーのパスワードが必要です。ほとんどの場合、切り替えるユーザーアカウントはrootアカウントですが、システム上の任意のアカウントにすることができます。
たとえば、次のように入力した場合:
$ su -
上記の例では、rootに切り替えており、rootパスワードが必要です。 (-コード> )switchは、独自の環境を維持しながら、単一のコマンドに対してrootユーザーの権限を与えるだけでなく、rootの環境(パス変数とシェル変数)を提供します。
$ su bryant
2番目の例では、ブライアントに切り替えています。 、したがって、rootでない限り、bryantのパスワードが必要です。
ブライアントに切り替えたい場合 ブライアントのパスと環境変数を含むユーザーアカウントは、(-
)スイッチ:
$ su - bryant
(-コード> )スイッチは、そのユーザーアカウントで直接システムにログインするのと同じ効果があります。本質的に、あなたはになる そのユーザー。
まとめ
学んだことを要約します。
-
sudo
IDを変更せずに別のユーザーとしてコマンドを発行できます -
/ etc / sudoers
にエントリが必要です これらの制限された権限を実行するには -
sudo -i
ルートとしてインタラクティブセッションに移動します -
su
特定のユーザーに切り替えることを意味します -
su
と入力するだけ rootユーザーに切り替えます -
sudo
su
の間に、パスワードを尋ねられます 切り替え先のユーザーのパスワードを尋ねられます
[セキュリティについてもっと知りたいですか? ITセキュリティとコンプライアンスのチェックリストを確認してください。 ]
しかし、いつ別のものではなく、1つを使用しますか? sudo
以降 ポリシーは/etc / sudoers
で定義されています 、これにより強力な権限制御を行うことができます。 sudo
以降 su
のほとんどすべてを実行できます できます、私は sudo
に固執するのが最善だと思います su
を必要とするいくつかのレガシーコードを使用している場合を除きます コマンド。