0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linux入門③:権限とユーザー管理を理解する(chmod/sudo 入門)

Posted at

※この記事は自分用の学習記録です。間違いがあれば後日追記します。
どのディストリでも動く基本コマンドに絞っています。

0. 実行環境(再現性メモ)

• 環境例:WSL2/Ubuntu 22.04(amd64)
• シェル:bash
• Mermaid:v11.3

1. Linuxの権限モデルを超圧縮で

1.1 所有者・グループ・その他(u/g/o)

ls -l の先頭10文字が権限です。

ls -l /bin/ls

例:-rwxr-xr-x 1 root root ... /bin/ls
• 1文字目:-(ファイル)/d(ディレクトリ)
• 次の9文字:rwx × 3セット(user/group/others)
• r=読める、w=書ける、x=実行できる(ディレクトリでは x=中に入れる/検索できる)

1.2 数字で覚える(644/755 など)

記号 意味 数値
r 読む 4
w 書く 2
x 実行(ディレクトリは探索) 1

和で表現:rwx=7、rw-=6、r-x=5…
• 例:-rw-r--r-- → 644(u=6, g=4, o=4)
• 例:-rwxr-xr-x → 755(u=7, g=5, o=5)

2. chmod:権限を変える

2.1 記号で変える(読みやすい)

chmod u+x script.sh     # 自分(u)に実行権を足す(+)
chmod go-w notes.txt    # グループ/その他から書き込み権限を外す(-)
chmod a=r file.txt      # すべて(a)を読み取り専用(=)

2.2 数字で変える(素早い)

chmod 644 file.txt      # 一般的なテキスト
chmod 755 run.sh        # 実行スクリプト/ディレクトリ
chmod -R 755 public/    # 再帰(-R)で一式

ポイント:ディレクトリに x がないと中に入れない。ls -ld dir でディレクトリ自体の権限も確認。

3. 所有者を変える:chown/chgrp

sudo chown user:group target     # 所有者とグループを同時に
sudo chgrp webapp target         # グループだけ変える

• 例:アプリ用ユーザーmyappにディレクトリを渡す

sudo mkdir -p /opt/myapp
sudo chown -R myapp:myapp /opt/myapp

4. よく使う「権限レシピ」5選(コピペ用)

# 1) .ssh のお作法(SSHで弾かれない)
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 600 ~/.ssh/authorized_keys

# 2) Webルート(誰でも読める/実行は可、書き込みは不可)
chmod -R 755 /var/www/html

# 3) ログディレクトリ(アプリだけ書ける)
sudo chown -R myapp:myapp /var/log/myapp
chmod -R 750 /var/log/myapp

# 4) スクリプトを実行可能に
chmod u+x deploy.sh

# 5) 読み取り専用に固める(公開ファイル群など)
chmod -R a=r public-assets
find public-assets -type d -exec chmod a=rx {} \;   # ディレクトリはxも必要

5. sudo:一時的に「管理者として実行」

• sudo :その1回だけ管理者権限
• sudo -u :別ユーザーとして実行
• sudo -s:rootシェル(必要なときだけ)
• sudoedit :安全に編集(推奨)

5.1 自分を「管理者グループ」に入れる(※ルート権限が必要)

• Debian/Ubuntu系:

sudo usermod -aG sudo <yourname>

• RHEL/CentOS系:

sudo usermod -aG wheel <yourname>

反映には再ログインが必要。id や groups で所属を確認。

6. “ディレクトリでの x は何か”を図で理解

つまりディレクトリの x がないと cd できない。r があっても中を一覧できないことがある(検索専用)。

7. よくあるエラー → 最短で直す

症状 よくある原因 まずやること
Permission denied 権限不足/所有者違い ls -l で権限と所有者を確認 → chmodchown
Operation not permitted rootでも禁止(immutable等) lsattr filesudo chattr -i file で解除
is not in the sudoers file sudoグループに未所属 rootで usermod -aG sudo <user>(または wheel
ポート80が開けない 非rootで低番ポート sudo setcap 'cap_net_bind_service=+ep' /path/to/bin

immutable属性は特にハマる:chattr +i file が付いてると削除も変更も不可。外すには chattr -i file。

8. umask:デフォルト権限の下地

新規ファイルの権限は 基準値 − umask で決まる(通常:ファイル=666、ディレクトリ=777)。

umask          # 例) 0022

• 0022 なら、ファイルは 644、ディレクトリは 755 で作られる
• 一時的に変えたい:umask 002(共同作業で group 書き込みを許すなど)

9. まとめ

• rwx は u/g/o の3セット。数字は r=4, w=2, x=1 の和で覚える
• ファイルとディレクトリで x の意味が違う(実行 vs 中に入れる)
• 実務は chmod(権限)+ chown(所有)+ sudo(昇格) の3点セットで回る

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?