プログラミングマガジン

プログラミングを中心にIT技術をできるだけわかりやすくまとめます。

  • ホーム
  • linux
  • 【Linux】「su」と「sudo」の違い
 
 
     
  • サーバー言語  
    • Python
    • Ruby
    • PHP
    • SQL
  •  
  • インフラ  
       
    • AWS
    •  
    • 基本
    • Git
  • Web
       
    • Web開発
    • JavaScript
    • Vue.js
    • React
  •  
  • 設計  
       
    • 実装設計
    • DB設計
  • 問い合わせ
  

【Linux】「su」と「sudo」の違い

05.24

  • miyabisan2
  • 1件のコメント

この記事は2分で読めます

su(「Switch User:ユーザーを切り替える」の略)

ユーザーを切り替えるコマンドです。スーパーユーザになることもできます。

1
su - (ユーザー名)

ユーザー名を省略した場合は、スーパーユーザー(ルートユーザー)になります。

必要な作業を行った後にexitや、logoutで元のユーザーに戻るのが一般的です。

「su」と「su -」の違い

suコマンドは、「-(ハイフン)」を付ける場合と、つけない場合で意味がかなり異なってきますので、注意しましょう。

「su」

一般ユーザーの環境(環境変数、シェル変数等)は、無条件で指定したユーザーに引き継がれます。

例えばJavaやOracle等を使っている場合に、「JAVA_HOME」、「Oracle_HOME」等の環境変数を利用したシェルを動かしたいといった場合等には影響を出すことなく実行できます。

また、ホームディレクトリは、「home」にあるものがそのまま引き継がれます。

「su -」の場合

一般ユーザーの環境(環境変数、シェル変数等)はrootになる。

また、ホームディレクトリは、「root」のものになります。

sudo(「Super User DO:スーパーユーザーで実行」の略)

「Super User Do」という読んで字のごとく、「スーパーユーザーで実行する」ことができます。

例

1
sudo ls -la

コマンド実行の都度権限を与えるので、コマンド実行完了後は権限が元に戻ります。

ただ、環境変数はsuと違って、デフォルトでは引き継がれないので、環境変数を使ったシェルを動かす場合等には注意です。

また、パスワードは随時求められますが、一般ユーザーのパスワードの入力で、管理者コマンドを実行できるというのもsuとの大きな違いとなります。

suとsudoの使い分けはどのように行えばよいのか?

  • 「/etc/sudoers」で権限を細かく設定することができるので、最近は権限を決め細やかに設定するために「su」は禁止して、「sudo」に統一している現場も多いです。
  • rootのパスワードが設定されていなかったり、わからない場合も、sudoコマンドを使います。
  • 開発元が別になります。suは「util-linuxパッケージ」に含まれていて、sudoは「sudoパッケージ」に含まれています。(機能的には似たようなものですがソースは全く別物になります。)、suはUnix初期から作られていてsudoの方が後発になります。
スポンサーリンク
  • 2018 05.24
  • miyabisan2
  • 1件のコメント
  • linux
  • Tweets Twitter
  • このエントリーをはてなブックマークに追加
  • LINEで送る

関連記事

  1. 2018 05.27

    【Linux】「スワップ領域」ってどんな領域なの?

  2. 2018 05.26

    【Linux】ドライブの「マウント」について

  3. 2018 05.27

    ファイルの「圧縮」と「アーカイブ」と「解凍」、gzip圧縮について

  4. 2018 05.26

    【Linux】「シェル変数」と「環境変数」の基本と、その違い

  5. 2018 05.26

    【Linux】「バックグラウンドプロセス」と、その「終了」(killコマンド)について

  6. 2018 05.27

    【Linux】「ファイル名」についての基本

  • コメント ( 0 )
  • トラックバック ( 0 )
  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

返信をキャンセルする。

【Linux】(初心者向け)ディレクトリ操作の基本操作…

【Linux】ドライブの「マウント」について

RETURN TOP

著者プロフィール

エンジニア歴10年で過去に業務系、Webデザイン、インフラ系なども経験あります。現在はWeb系でフロントエンド開発中心です。

詳細なプロフィールはこちら

スポンサーリンク

カテゴリー

  • Android
  • AngularJS
  • API
  • AWS
  • C++
  • CSS
  • cursor
  • C言語
  • DDD
  • DevOps
  • Django
  • Docker
  • Figma
  • Git
  • GitLab
  • GraphQL
  • gRPC
  • Hasura
  • Java
  • JavaScript
  • Kubernetes
  • Laravel
  • linux
  • MySQL
  • Next.js
  • nginx
  • Node.js
  • NoSQL
  • Nuxt.js
  • Oracle
  • PHP
  • Python
  • React
  • Redux
  • Rspec
  • Ruby
  • Ruby on Rails
  • Sass
  • Spring Framework
  • SQL
  • TypeScript
  • Unity
  • Vue.js
  • Webサービス開発
  • Webデザイン
  • Web技術
  • インフラ
  • オブジェクト指向
  • システム開発
  • セキュリティ
  • その他
  • データベース
  • デザインパターン
  • テスト
  • ネットワーク
  • プログラミング全般
  • マイクロサービス
  • マイクロソフト系技術
  • マルチメディア
  • リファクタリング
  • 副業
  • 未分類
  • 業務知識
  • 生成AI
  • 設計
  • 関数型言語
RETURN TOP

Copyright ©  プログラミングマガジン | プライバシーポリシー