このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。
Linuxコマンドの基本:ユーザーを切り替える:suコマンド

ユーザーを切り替える:suコマンド
Linuxシステムでは、システム管理や特定の作業を行うために、一時的に別のユーザーに切り替える必要がある場合があります。その際に使用するのが su(switch user)コマンド です。ここでは、su
コマンドを使用してユーザーを切り替える方法と、その際の注意点について詳しく解説します。

スーパーユーザー
Linuxには、スーパーユーザー と呼ばれる管理者権限を持つ特別なユーザーが存在します。スーパーユーザーはユーザー名が root
であることから、rootユーザー とも呼ばれます。一方、通常の作業を行うユーザー(例:user01
)は 一般ユーザー と呼ばれます。
スーパーユーザーの特徴
- 強力な権限:システムの設定ファイルの変更や、新しいアプリケーションのインストールなど、あらゆる操作が可能です。
- 他ユーザーのファイル操作:他のユーザーが作成したファイルでも、自由に読み込み、書き込み、削除ができます。
注意点
- リスク:強い権限を持つため、誤った操作でシステムに重大な影響を与える可能性があります。例えば、重要なシステムファイルを誤って削除してしまうと、Linuxシステム自体が破壊される恐れがあります。
- ベストプラクティス:通常は一般ユーザーでログインし、必要なときだけスーパーユーザーに切り替えて作業を行うことが推奨されます。
suコマンド:ユーザーを変更する
su
コマンドは、現在のセッションで一時的に別のユーザーに切り替えるためのコマンドです。ログアウトせずにユーザーを変更でき、任意のユーザーになることが可能です。特に、スーパーユーザー(root
ユーザー)に切り替える際によく使用されます。
suコマンドの基本的な使い方
【書式】su [オプション] [ユーザー名]
- デフォルト動作:ユーザー名を指定しない場合、
root
ユーザーに切り替わります。
スーパーユーザーに切り替える流れ
[一般ユーザーでログイン] --> [suコマンドを実行] --> [スーパーユーザーに切り替え]
--> [スーパーユーザーで作業] --> [exitコマンドを実行] --> [般ユーザーに戻る]
実際にスーパーユーザーになる手順
1.suコマンドを実行
user01@ubuntu:~$ su
パスワード:
- パスワードの入力:
root
ユーザーのパスワードを求められます。
2.パスワードを入力
注意:Ubuntuではデフォルトで root
ユーザーのパスワードが設定されていないため、このままでは認証エラーになります。
su: 認証失敗
Ubuntuでのrootパスワード設定
Ubuntuでは、セキュリティ上の理由から root
ユーザーのパスワードが設定されていません。そのため、su
コマンドを使用する前に root
ユーザーのパスワードを設定する必要があります。
1.rootパスワードの設定
user01@ubuntu:~$ sudo passwd root
[sudo] user01 のパスワード:
新しいパスワード:
新しいパスワードを再入力してください:
passwd: パスワードは正しく更新されました
注意:単純なパスワードはセキュリティ上危険ですので、推測されにくい強固なパスワードを設定してください。
2.再度suコマンドを実行
user01@ubuntu:~$ su
パスワード:
root@ubuntu:/home/user01#
プロンプトの変化:$
から #
に変わり、スーパーユーザーに切り替わったことが確認できます。
スーパーユーザーから一般ユーザーに戻る
作業が終わったら、exit
コマンドで元の一般ユーザーに戻ります。
root@ubuntu:/home/user01# exit
exit
user01@ubuntu:~$
suコマンドのオプション:環境の引き継ぎ
suとsu - の違い
su
コマンド:現在の環境(環境変数やカレントディレクトリ)を維持したままユーザーを切り替えます。su -
コマンド:新しいユーザーの環境に初期化してからユーザーを切り替えます。
suコマンドの例
user01@ubuntu:~$ su
パスワード:
root@ubuntu:/home/user01#
- カレントディレクトリ:
/home/user01
のままです。
su - コマンドの例
user01@ubuntu:~$ su -
パスワード:
root@ubuntu:~# pwd
/root
- カレントディレクトリ:
/root
に変わります。
なぜsu - を使うべきか
- 理由:一般ユーザーの環境変数や設定を引き継いだままスーパーユーザーになると、アプリケーションが正しく動作しない場合があります。
- ベストプラクティス:通常は
su -
を使用して、環境を初期化してからユーザーを切り替えることを推奨します。
まとめ
- スーパーユーザー(rootユーザー):システム全体を管理する強力な権限を持つユーザーです。
注意点:誤操作によるシステム破壊のリスクがあるため、利用は必要最小限にとどめましょう。 - suコマンド:一時的に別のユーザーに切り替えるコマンドです。
基本的な使い方:su [ユーザー名]
スーパーユーザーになる:su
またはsu -
(推奨)
環境の初期化:su -
を使用することで、新しいユーザーの環境に切り替えられます。 - Ubuntuでの注意点
デフォルトではroot
ユーザーのパスワードが設定されていないため、sudo passwd root
でパスワードを設定する必要があります。 - 安全な操作:普段は一般ユーザーで作業し、必要なときだけスーパーユーザーに切り替えるようにしましょう。
適切に su
コマンドを使用し、スーパーユーザーの重要性とリスクを理解することで、Linuxシステムを安全かつ効果的に管理できます。