ファイルとディレクトリの権限設定を理解する:chmod・chown・umaskの基本

Linux や Unix 系 OS を扱う上で欠かせないのが「ファイル・ディレクトリの権限設定」です。適切なパーミッションの管理は、セキュリティの観点でも、開発の効率化という点でも重要なポイントです。本記事では、chmod・chown・umask の基本について、実例を交えてわかりやすく解説します。

chmod:パーミッションを変更する

chmod コマンドは、ファイルやディレクトリのアクセス権限(読み取り・書き込み・実行)を変更するために使用します。

パーミッションの基本構造

-rwxr-xr--  1 user group 1234 May  9 10:00 sample.sh

この表記の意味:

  • 最初の文字:- はファイル、d はディレクトリ
  • rwx:所有者(user)の権限(読み・書き・実行)
  • r-x:グループの権限(読み・実行)
  • r--:その他ユーザーの権限(読みのみ)

数値での指定(オクタル表記)

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

たとえば、chmod 755 sample.sh は次の意味になります:

  • 所有者:7(=4+2+1)= rwx
  • グループ:5(=4+0+1)= r-x
  • その他:5(=4+0+1)= r-x
chmod 755 sample.sh

シンボリック表記での指定

chmod u+x script.sh   # 所有者に実行権限を追加
chmod go-w script.sh  # グループとその他から書き込み権限を削除

chown:所有者やグループを変更する

ファイルの所有者やグループを変更したいときには chown コマンドを使います。

基本構文

chown [所有者]:[グループ] ファイル名

例:

chown www-data:www-data /var/www/html/index.html

これは、index.html の所有者とグループを www-data に設定する例です。

  • 所有者だけ変更する場合:chown user1 file.txt
  • グループだけ変更する場合:chown :staff file.txt

umask:デフォルトのパーミッションを制御する

umask は、新しく作成されたファイルやディレクトリの「初期パーミッション」を制御します。

umask の計算方法

  • デフォルトのパーミッション
    • ファイル:666(rw-rw-rw-)
    • ディレクトリ:777(rwxrwxrwx)

umask で引かれた値が実際のパーミッションになります。

例:umask が 022 の場合

  • ファイル:666 - 022 = 644rw-r--r--
  • ディレクトリ:777 - 022 = 755rwxr-xr-x
umask 022
touch test.txt
ls -l test.txt
# -rw-r--r-- となる

umask の確認と変更

現在の umask を確認するには:

umask

一時的に変更するには:

umask 027

恒久的に設定したい場合は、~/.bashrc~/.bash_profile に書きます:

umask 027

まとめ:ファイルとディレクトリの権限を理解して安全な運用を

ファイルの読み書き・実行の制御は、セキュリティやチーム開発において非常に重要な基礎知識です。

  • chmod でアクセス権を適切に調整し、
  • chown で所有者やグループを設定し、
  • umask で新規作成時のパーミッションを制御する

これらを理解することで、意図しない情報漏洩や操作ミスを未然に防ぐことができます。サーバー運用や開発業務に携わる方は、ぜひ一度自分の環境の設定を見直してみてください。

Contact

ウェブサイトの制作や運用に関わる
お悩みやご相談
お気軽にお問い合わせ下さい

ウェブサイトと一口に言っても、企業サイトやECサイト、ブログ、SNSなど、その“カタチ”は目的に応じてさまざまであり、構築方法や使用する技術も大きく異なります。株式会社コナックスでは、お客様のご要望やブランドの個性を丁寧に汲み取り、最適なウェブサイトの“カタチ”をご提案いたします。

デザイン、ユーザビリティ、SEO対策はもちろん、コンテンツ制作やマーケティング戦略に至るまで、あらゆるフェーズでお客様のビジネスに寄り添い、成果につながるウェブサイトづくりをサポートいたします。私たちは、ウェブサイトの公開をゴールではなくスタートと捉え、お客様のビジネスの成功に向けて共に伴走してまいります。