Linuxのsuコマンドでユーザー変更(切り替え)する方法!su- との違いも解説!
Linuxのsuコマンドでユーザー変更(切り替え)する方法!su- との違いも解説します。Linuxのsuコマンドではユーザー変更ができます。suとsu-の違いもあるので注意が必要です。記事を参考にLinuxのsuコマンドの使い方を知っていただけたら幸いです。
目次
- 1Linuxのsuコマンドとは?何ができる?
- ・suコマンドは指定したユーザーに変更(切り替え)するコマンド
- ・スーパーユーザー(rootユーザー)になる場合にも便利
- 2Linuxのsuコマンドの使い方
- ・suコマンドでユーザー切り替えをする方法
- 3Linuxのsuコマンドの主なオプション一覧
- ・環境変数を引き継がずに変更する場合は【-】
- ・環境変数(HOME)(USER)などの内容を引き継ぐ場合は【-m】
- ・実行するシェルを指定する場合は【-s】
- 4Linuxの【su】と【su-】の違いを解説
- ・一般ユーザーの環境を引き継ぐ場合は【su】
- ・rootの環境で使う場合は【su-】
- 5Linuxのsuコマンドを理解して正しく使おう!
Linuxのsuコマンドとは?何ができる?
Linuxのsuコマンドとは、指定したユーザーに変更できるコマンドで、ユーザーの指定を引数にしない場合は、rootユーザーの変更という内容で処理します。
Linuxを利用する際は、管理者権限が必要なこともあります。Linuxで管理者権限を使うには、sudoコマンドを使って処理するか、suコマンドを利用してからrootユーザーに切り替えて処理をすることもあります。
suコマンドを利用してからスーパーユーザー、rootユーザーに切り替えると全てのLinuxのコンテンツを自由に編集ができるようになるので、便利です。逆にrootの環境で、コマンドを使う場合は、suコマンドでなく、su-コマンドを使ってLinuxを使用します。
また、指定したユーザーに変更するだけでなく、スーパーユーザーに変更するのも便利です。suコマンドを単独で実行すると、シェルがスーパーユーザーとして実行されます。suコマンドを実行したら、全てのコマンドがrootのユーザーとして、実行されます。root権限が必要なコマンドを実行すると、プログラミングインストールとアップデートの利用ができます。
suコマンドは指定したユーザーに変更(切り替え)するコマンド
suコマンドは指定したユーザーに変更(切り替え)するコマンドです。suコマンドでユーザーの指定を引数にしない場合、rootユーザーの変更、切り替えという内容でLinuxは処理をします。
Linuxの利用の際は、管理者権限が必要なケースもあります。Linuxで管理者権限を利用するには、Linuxのsudoコマンドを使って処理するほか、suコマンドを利用して、rootユーザーに切り替え、変更して処理をすることもできます。
スーパーユーザー(rootユーザー)になる場合にも便利
Linuxのsuコマンドを単独で実行します。すると、スーパーユーザー、rootユーザーというシェルが実行されます。このことからsuコマンドの実行以降は全部のコマンドがスーパーユーザー、rootユーザーで実行されます。使用するタイミングは、プログラムをインストール、アップデートしたい時などのスーパーユーザー、root権限が必要な時です。
Linuxのsuコマンドの使い方
Linuxのsuコマンドの使い方は簡単です。スーパーユーザー、rootユーザーに切り替えるには、Linuxのsuコマンドに引数を指定しないで、コマンドを実行する必要があります。スーパーユーザーはLinuxの管理者権限で、Linuxにおける全てのコンテンツの変更ができます。suコマンドを実行するには、パスワードの入力が必須になります。
rootの権限はLinuxで多くのことができ、カレントディレクトリで全てのディレクトリを削除できてしまうなどができます。指定したユーザーに切り替えるには、suコマンドの引数にユーザーを指定します。
suコマンドでユーザー切り替えをする方法
suコマンドでユーザー切り替えをする方法は、引数を指定しないでsuコマンドを実行する方法です。ユーザー切り替えは便利で、スーパーユーザーになれば、全てのコンテンツを自分の好きなように、変更ができます。
実際にsuコマンドを入力して切り替えるユーザーを選択すると、ユーザーのパスワードを聞かれるので、パスワードを入力して完了です。Linuxのsuコマンドを貴切り替えることで、操作が自由になり便利になります。
逆にrootの環境で利用する際は、suとは違いsu-のコマンドを使うことでLinuxを効率よく使えます。
Linuxのsuコマンドの主なオプション一覧
Linuxのsuコマンドの主なオプションは多くあります。環境変数を引き継がないで変更するコマンドや、環境変数の一部の内容を引き継ぐオプション、実行したいシェルを指定するsuコマンドのオプションがあります。
オプション名 | オプションの内容 |
-m | 環境変数のUSERやHOMEを引き継ぐ |
- | 環境変数を引き継がないで変更する |
-s | 実行したいシェルを指定 |
-c | シェルは起動しないでコマンドを実行します。 |
-f | シェルにオプションを渡す役割がある。-fは。cshrcを読み込まない |
-l | シェルのログイン |
環境変数を引き継がずに変更する場合は【-】
環境変数を引き継がずに変更する場合は、-のsuコマンドを使います。このsuコマンドオプションは環境変数を引き継がないで変更することができるので、環境変数を引き継がないで利用できるので、便利です。
環境変数(HOME)(USER)などの内容を引き継ぐ場合は【-m】
環境変数(HOME)(USER)などの内容を引き継ぐ場合は、-mを使います。環境変数は、HOMEやUSERなどの多くの引き継げる内容があり、引き継ぐことで楽に利用できることもあります。環境変数の内容を変更しないで利用したい場合は、-mを使ってコマンドを実行します。
実行するシェルを指定する場合は【-s】
実行するシェルを指定する場合は、-sを利用します。-sを利用すると、自分が実行したいコマンドのシェルを指定して、suコマンドに反映させる機能があります。また、suコマンドをオプションなしの単独で実行すると、スーパーユーザーとしてシェルが実行されます。プログラムのアップデートやインストールでsuコマンドは使います。
Linuxの【su】と【su-】の違いを解説
Linuxの【su】と【su-】の違いは難しいです。一般ユーザーの環境を引き継ぐ場合は、suの操作が必要になり、rootの環境で使う場合は、su-を使いってコマンドを実行します。
Linuxのsuコマンドは、ユーザーの変更操作ができ、スーパーユーザー、rootユーザーの状態では、全てのコンテンツを修正できます。また、suコマンドは、指定したユーザーとしてパスワードを入力すれば利用できます。
もし、Linux上で、カレントディレクトリのコマンドを実行すると、全部のディレクトリが削除されてしまい、OSなどにダメージを与えます。
su-コマンドは、環境変数を引き継がないでユーザーの変更をするので、自分の好きなように、環境変数を組み立てられます。環境変数とは、Linuxで動いてるプログラムが参照されているディレクトリの情報が記載されている変数で、設定を変更しなくても環境変数は設定されています。
一般ユーザーの環境を引き継ぐ場合は【su】
一般ユーザーの環境を引き継ぐ場合はsuコマンドを使います。このコマンドは、Linuxの環境変数を引き継いでユーザーの切り替えをします。
そのため、自分が切り替えて使う前にユーザーが利用している環境変数をそのまま利用できるので、設定が不用になります。そして、スーパーユーザー、rootユーザーになる際にも環境変数を引き継いで、切り替えるならば、suコマンドでの実行は必須になります。
逆に、環境変数を引き継がないで、ユーザーを切り替える場合は、su-コマンドを実行して、環境変数を引き継がないでLinuxを使えます。su-コマンドを使うと、環境変数は引き継がれませんが、Linuxには環境変数がいくつか設定されているので、設定の必要はありません。
rootの環境で使う場合は【su-】
rootの環境で使う場合は、su-コマンドでの実行が必須になります。su-コマンドを実行すると、環境変数が引き継がれない状態で、ユーザーの切り替えになります。しかし、Linuxにはさまざまな環境変数が設定されているので、環境変数の設定の必要がありません。しかし、自分で環境変数を設定することもできるので、自分の好きなようにLinuxを利用できます。
逆にsuコマンドは、切り替えたユーザーの環境変数をそのまま使えるので、環境変数の設定が気にならなかったり、こだわりがない人にはおすすめです。
Linuxのsuコマンドを理解して正しく使おう!
Linuxのsuコマンドを理解して正しく使うのは簡単です。suコマンドとsu-コマンドでは、環境変数の設定が異なることや、コマンドのオプションを使うことで多くのバリエーションが増やせます。この記事を参考にLinuxのsuコマンドを理解していただけたら幸いです。