インフラ PR

【Linux】パーミッションの基本とsuとsudoの違いについて解説

linux-permission
記事内に商品プロモーションを含む場合があります

Linuxは1つのマシンへ複数のユーザが同時にログインして操作することを前提として作られているので、ファイルの誤操作や上書きを防ぐための仕組みが必要となります。

本記事ではそんなファイルの保護を実現するためのパーミッションの仕組みと管理者権限を持つスーパーユーザであるrootユーザについて分かりやすいように解説いたします。

infra-engineer-market-value
【3分でできる】インフラエンジニアとしての市場価値診断現在インフラエンジニアとして働いているけど、「果たして自分は適正年収を貰えているのだろうか」とふと感じたことはありませんか?会社勤めを何...
infra-engineer-sidejob-agent
【土日で稼ぐ】インフラエンジニアの副業の始め方とおすすめの案件獲得サイト20選「インフラエンジニアとして副業収入を得たい」「インフラエンジニア向けの案件を獲得するのにおすすめのサイトがあれば教えて欲しい」このような方向けに本記事ではインフラエンジニアの副業の始め方と土日で稼ぐのにおすすめの案件獲得サイトを紹介します。...

【Linux】パーミッションの基本

search

まずはLinuxにおける「パーミッション」の基本についてしっかり押さえておきましょう。

オーナーとグループ

Linuxで使われるファイル全てにオーナーが設定されており、そのオーナーはファイルへのアクセス権限を自由に設定することができます。

以下はlsコマンドに「-l」オプションを付けてファイルのオーナーを確認した例。

lsコマンド例

上の例でいうとsampleファイルは「taroというユーザがオーナーで、suzukiというグループに所属している」という意味になります。

「グループ」とはユーザをまとめた集まりのこと。ユーザはいくつものグループに所属することが可能。「groupコマンド」で自分がどのグループに所属しているか確認することができる。

パーミッション

各ファイルには「誰にどのような操作を許可するか」という権限を規定する情報が設定されており、この情報を”パーミッション”と呼びます。

以下「rwxr-xr-x」の部分はファイルモードと呼ばれ、ファイルのパーミッションを表現。

パーミッション

この9文字は3文字ごとに1つのブロックになっており、それぞれがオーナー・グループ・その他ユーザに対するパーミッションを意味してます。

以下の図は各記号の意味をまとめたものです。

r読み取り(read)
w書き込み(write)
x実行(execute)

先ほどの例はファイルの「オーナーには読み書き実行権限全てが与えられており、グループとその他ユーザには読み・実行の権限のみ与えられている」という意味になります。

【chmodコマンド】パーミッションの変更について

good-money

「chmod」は先ほどの9文字で表現されていたファイルモードを変更するコマンド。

chmodコマンドには「シンボルモード」による指定と「数値モード」による指定の2種類があるので、それぞれについて以下で解説します。

なお、ファイルのパーミッションはオーナーもしくは後述するスーパーユーザしか変更することができません。

シンボルモードによるパーミッションの変更

シンボルモードの指定は「誰にどのような権限を追加もしくは禁止するのか」が直感的。

シンボルモード

最初の[ugoa]の部分はどのユーザに対するパーミッションを変更するのかを指定。

それぞれの記号の意味は以下の通り。

uオーナー
gグループ
oその他ユーザー
augo全て

次の[+-=]の部分は権限を追加するのか禁止するのかの操作を表しています。

+権限を追加する
権限を禁止する
=指定した権限と等しくする

なお、最後の[rwx]の部分は前章で解説した通り、読み書き実行権限を表したものです。

数値モードによるパーミッションの変更

シンボルモードとは異なり、数値モードは元のパーミッションに関わらず新しいパーミッションの値へと変更する方式です。

数値モード

パーミッションを数値で表現するにはrwxのうち許可する操作を以下の数字に置き換えてそれを足し算します。

読み取り(r)4
書き込み(w)2
実行(x)1

足した値をオーナー・グループ・その他ユーザの順に3つ並べてパーミッションを表現。

例えば「755」はオーナーには読み書き実行権限の全て、グループとその他ユーザには読み・実行権限のみ与えられているということになります。

スーパーユーザとsuとsudoコマンドの違いについて

engineer

Linuxのユーザの中には「スーパーユーザ(rootユーザとも)」と呼ばれる管理者権限を持つ特別なユーザが存在します。

スーパーユーザはあらゆる操作が許可された強い権限を持つユーザであり、ファイルのパーミッションの影響を受けずに全てのファイルの読み込み・書き込み・削除が可能です。

本章では一般ユーザからスーパーユーザに変わる方法であるsusudoコマンドについて順に解説していきます。

スーパーユーザで操作を誤るとLinuxシステム自体を破壊してしまう恐れもあるため乱用は禁物です。スーパーユーザの利用は必要最小限に留めておきましょう。 

suコマンド

suコマンド」はログアウトせずとも一時的に別のユーザになるため(主にスーパーユーザに変わるため)のコマンドです。

suコマンド

なお、スーパーユーザとして作業を終えたら、exitコマンドで元の一般ユーザに戻れます。

sudoコマンド

sudoコマンド」は一般ユーザでログインしている時にスーパーユーザでないと実行できないコマンドを実行するために使用されます。

sudoコマンド

sudoコマンドを実行すると上の例のように現在ログインしているユーザのパスワードが要求されるので、正しく入力すれば実行されるはずです。

suとsudoどちらを使うべきか?

結論sudoコマンドを基本的に使用しましょう。

というのも、スーパーユーザでの操作は致命的な問題を引き起こす可能性があるため、むやみに使用すべきではないからです。

なお、sudoコマンドも危険を伴うことに変わりないため、使用する場合は逐一注意して実行するようにしましょう。

【Linux】パーミッションのまとめ

本記事のまとめ
  • Linux上の各ファイルには必ずオーナーが存在する。
  • 各ファイルには「誰にどのような操作を許可するか」という権限を規定する情報(パーミッション)が設定されている。
  • chmodコマンドでパーミッションの変更が可能。(オーナーもしくはスーパーユーザのみ変更が許可される)
  • Linuxのユーザの中にはスーパーユーザと呼ばれる管理者権限を持つ特別なユーザが存在。
  • su/sudoコマンドでスーパーユーザに切り替わることができる。
  • 基本的には危険性を考慮してsudoコマンドを使用したほうが無難。

Linuxにおけるパーミッションの基本について理解できましたでしょうか?

本記事で扱った内容はあくまで基本的な部分だけなので、良質な書籍やサイトでの学習を通じて更に理解を深めていってもらえればと思います。

ここまで記事を読んでいただきありがとうございました。当ブログでは他にもLinuxに関する記事を公開しているので、気になる記事がないか併せて確認してみてください。

linux-books
【2024年最新】Linuxの独学におすすめの入門書7選Linuxについて勉強する際におすすめの入門書を5冊紹介。Linuxに関する知識はエンジニアにとって必要不可欠なものなので、早いうちにLinuxについて学んでおきましょう。...
engineer-linux
【無料】Linux学習サイトならエンジニアの入り口がおすすめLinux学習におすすめの入門サイトなら”エンジニアの入り口”がおすすめ。本記事ではなぜ”エンジニアの入り口”がおすすめか解説しております。これからLinuxを習得したいと考えている方は必見です。...
linux-learning
【初心者向け】Linuxの効率的な学習方法をわかりやすく解説”効率よくLinuxのスキルを習得したい!”そんな初心者の方向けに本記事ではLinuxの学習方法を現役エンジニア目線で解説しております。Linuxのスキルを習得したい方は是非記事をご覧ください。...
infra-engineer-market-value
【3分でできる】インフラエンジニアとしての市場価値診断現在インフラエンジニアとして働いているけど、「果たして自分は適正年収を貰えているのだろうか」とふと感じたことはありませんか?会社勤めを何...
infra-engineer-sidejob-agent
【土日で稼ぐ】インフラエンジニアの副業の始め方とおすすめの案件獲得サイト20選「インフラエンジニアとして副業収入を得たい」「インフラエンジニア向けの案件を獲得するのにおすすめのサイトがあれば教えて欲しい」このような方向けに本記事ではインフラエンジニアの副業の始め方と土日で稼ぐのにおすすめの案件獲得サイトを紹介します。...
infra-engineer-job-change
【2024年最新】インフラエンジニアにおすすめの転職エージェント10選「転職エージェントって沢山あるけど結局どこに登録すればいいの?」このように思うインフラエンジニアの方向けに本記事ではインフラエンジニアにおすすめの転職エージェントを厳選して紹介しております。...
infra-engineer-freelance
【2024年最新】インフラエンジニアにおすすめのフリーランスエージェント20選インフラエンジニアとして実績を積んできたものの営業は苦手だし独立後に案件を獲得できるか不安。そんな方向けに本記事ではインフラエンジニアにおすすめのフリーランスエージェントを紹介いたします。...
こちらの記事もおすすめ!

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です