【Linuxコマンド】suでユーザーを切り替える方法

LinuxではOSを使用するユーザーを切り替えるために便利な「su」コマンドがあります。

ここでは「su」コマンドについて以下の内容で解説していきます。

su_image

この記事では「su」コマンドについてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!

suコマンドとは

「su」コマンドは使用するユーザーを切り替えるときに使用します。

LinuxではOSを使用するユーザーによって権限を割当てることができます。

たとえばユーザーAでは特定のファイルは閲覧のみの権限しか与えられていないが、ユーザーBでは特定のファイルの変更を可能な場合、ユーザーAからユーザーBに切り替えたい場合に「su」コマンドを使用します。

・suコマンドの書式

$ su

suコマンドのオプション

以下は「su」コマンドで使用する主なオプションです。

オプション説明
-環境変数を引き継がずに変更する
-m環境変数「HOME」「USER」などの内容を引き継ぐ
-s実行するシェルを指定する

suコマンドの使い方

「su」コマンドに引数を指定しないで実行すると、スーパーユーザー(root権限)に切り替えることができます。

スーパーユーザー(root権限)とは、Linuxにおける管理者権限のことで、ファイルシステムのパーミッションの変更や他ユーザーの権限を変更できるなど、Linuxにおけるすべての操作が可能となります。

スーパーユーザーに切り替えるには引数なしで以下のように入力します。

$ su

「su」コマンドを実行するとroot権限に切り替えるためにパスワードを入力する必要があります。

先述したとおりroot権限はLinux上であらゆることができてしまいます。

たとえば、カレントディレクトリで「rm -rf *」コマンドを実行してしまうとすべてのディレクトリが削除されてしまい、OSに致命的なダメージを与えてしまいますので周囲しましょう。

また、パスワードも第三者に漏れないように管理は徹底することが大切です。

ユーザーを切り替える

指定したユーザーに切り替えるには、以下のように「su」コマンドの引数にユーザー名を指定します。

$ su samurai

実行結果:
su_image01

コマンドを実行すると、ユーザー名(ここではsamurai)のパスワードを聞かれますので入力します。

ユーザーが切り替わると「samurai」ユーザーとして操作することができます。

「su」と「su -」の違い

「su」コマンドを実行すると、環境変数は変更する前のユーザーが設定した内容が引き継がれますが、「-」を付けると環境変数が引き継がれません。

そのため、スーパーユーザーに変更して環境変数の内容を引き継ぐ場合には「su」、引き継がない場合は「su -」を使用するようにしましょう。

$ su -

ちなみに環境変数とはLinuxで動作するプログラムが参照するディレクトリや閾値などの情報が記載された変数で、あらかじめさまざまな環境変数が設定されています。

また、環境変数はユーザーが任意に作成することも可能です。

Linuxについてもっと知りたい方へ

そもそもLinuxについて、

「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」

といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!



まとめ

ここでは、Linuxでユーザーを変更する「su」コマンドについて、

  • suコマンドとは
  • suコマンドの使い方
  • suコマンドのオプション
  • 「su」と「su -」の違い

などについて解説しました。

Linuxで開発する上で、ユーザーを切り替えて作業を実施することはよくありますので「su」コマンドの使い方についてはよく理解しておきましょう。

もし「su」コマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

侍ブログ編集部

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら

おすすめコンテンツ

いまならレッスン期間が2週間延長!この秋、プログラミングを学ぼう

転職成功で受講料0円!あなたもプログラミングを学んでエンジニアデビュー