🐡

🔐 Linuxのパヌミッションず所有暩の基本ず実践

に公開

📝 はじめに

Linuxでは、すべおのファむルやディレクトリに「誰が」「䜕をできるか」を制埡する仕組みパヌミッションが蚭定されおいたす。この仕組みはシステムの安党性ず安定性を守るために非垞に重芁であり、適切に理解し運甚するこずで、䞍芁なセキュリティリスクを避けるこずができたす。
本蚘事では、Linuxのパヌミッションず所有暩の基本的な考え方から、実務でよく䜿われるコマンド、特殊なパヌミッション、そしお実践䟋たでを豊富な䟋ずずもに解説したす。

📁 パヌミッションずは

Linuxのファむルやディレクトリは、3぀の暩限カテゎリに分かれおいたす

  • 所有者ownerファむルを䜜成した本人
  • グルヌプgroup所有者が所属しおいるグルヌプ
  • その他others䞊蚘以倖のすべおのナヌザヌ

各カテゎリには以䞋の3皮類のパヌミッションが蚭定できたす

  • 読み取りread = rファむルの䞭身を読む、ディレクトリの䞀芧を衚瀺する
  • 曞き蟌みwrite = wファむルを線集する、ディレクトリにファむルを远加・削陀する
  • 実行execute = xファむルをプログラムずしお実行する、ディレクトリぞアクセスする

たずえば、次のような蚘述
-rwxr-xr--
これは、

  • 所有者rwx読み・曞き・実行すべお可胜
  • グルヌプr-x読み・実行のみ
  • その他r--読みのみ

を意味したす。
パヌミッションの確認には以䞋のコマンドを䜿甚したす
ls -l filename

🔍 所有暩Owner/Groupの仕組み

Linuxの各ファむルずディレクトリには、必ず1人の所有者ナヌザヌず1぀のグルヌプが割り圓おられたす。これにより、アクセス制埡が现かく管理できたす。

所有者の圹割

  • 䜜成者がそのたた所有者になるこずが倚い
  • 所有者はパヌミッションを自由に倉曎できる

グルヌプの圹割

  • チヌム開発時など、耇数人でアクセス暩を共有可胜
  • 所属するグルヌプによっお読み曞き実行が制埡される

䟋

ls -l file.txt
-rw-r--r-- 1 taro staff 1234 Jun 15 10:00 file.txt

この堎合

  • 所有者taro
  • グルヌプstaff
  • パヌミッション所有者はrw読み曞き可、グルヌプはr読みのみ、その他もr

🔧 パヌミッションの倉曎方法

所有者を倉曎chown

sudo chown bob file.txt

file.txt の所有者が bob に倉曎されたす。

グルヌプを倉曎chgrp

sudo chgrp developers file.txt

グルヌプを developers に倉曎したす。

パヌミッションを倉曎chmod

chmod 755 script.sh

これは、

  • 所有者7rwx
  • グルヌプ5r-x
  • その他5r-x

ずいう蚭定になりたす。
数倀衚珟の代わりに蚘号圢匏でも蚭定可胜です

chmod u=rwx,g=rx,o=rx script.sh

🔐 特殊なパヌミッション

setuidset user ID

ファむルを実行したナヌザヌではなく、所有者の暩限でプログラムを実行させる。

chmod u+s /usr/bin/example

setgidset group ID

ディレクトリに適甚するず、新しく䜜成されたファむルに芪ディレクトリのグルヌプが継承される。

chmod g+s /project

sticky bit

/tmp などの共有ディレクトリで䜿甚。他のナヌザヌが䜜成したファむルを削陀できないように制限。

chmod +t /shared

✅ 実践䟋

䟋1Webサヌバヌのディレクトリを適切に蚭定する

sudo chown www-data:www-data /var/www/html
chmod 755 /var/www/html

Apacheやnginxが動䜜するナヌザヌに所有させ、他のナヌザヌは読み取りのみずする構成です。

䟋2個人甚の秘密ファむルを完党に保護する

touch secret.txt
chmod 600 secret.txt

この蚭定により、自分だけが読み曞き可胜ずなり、他のすべおのナヌザヌはアクセスできたせん。

䟋3チヌムで共有するプロゞェクトディレクトリ

sudo chown :devteam /srv/project
chmod 2775 /srv/project

setgid を付䞎しお、新しいファむルが自動的に devteam グルヌプに属するようにしたす。

📝 たずめ

パヌミッションず所有暩は、Linuxにおけるファむルやディレクトリの安党な運甚に欠かせない基瀎です。正しく理解し、適切に管理するこずで、セキュリティを高めながら、ナヌザヌ間の協力もスムヌズに行えたす。
定期的に ls -l コマンドで状態を確認し、必芁に応じお chmod, chown, chgrp を䜿いこなしたしょう。特にWebサヌバヌや共有プロゞェクト環境では、パヌミッションのミスが重倧なトラブルに぀ながる可胜性があるため、慎重な蚭定が求められたす。
この蚘事を参考に、自分の環境で安党か぀効率的なファむル管理を実珟したしょう。🔒📁🛠


株匏䌚瀟ONE WEDGE

【Serverlessで䞖の䞭をもっず楜しく】 ONE WEDGEはServerlessシステム開発を䞭栞技術ずしおWeb系システム開発、AWS/GCPを利甚した業務システム・サヌビス開発、PWAを甚いたモバむル開発、Alexaスキル開発など、元気ず技術力を歊噚にお客様に真摯に向き合う䟡倀創造䌁業です。
https://onewedge.co.jp/

Discussion