umaskを設定してデフォルトのパーミッション(権限)を制御

umaskとは

umaskは、Unix系のオペレーティングシステムで新しいファイルやディレクトリを作成する際のデフォルトのパーミッション(権限)を制御するための設定です。
umaskの設定値は、ファイルやディレクトリに適用されるパーミッションから値を引くためのビットマスクです。

umaskの効果

1. ファイルのデフォルトパーミッションを設定する:
ファイル作成時のデフォルトパーミッションは666(読み書き許可)ですが、これにumask値を引いて実際のパーミッションが決定されます。
例えば、umaskが022の場合、新しいファイルのパーミッションは666 - 022 = 644(所有者に読み書き、グループと他のユーザーに読み取り)となります。

2. ディレクトリのデフォルトパーミッションを設定する:
ディレクトリ作成時のデフォルトパーミッションは777(読み書き実行許可)ですが、これにumask値を引いて実際のパーミッションが決定されます。
例えば、umaskが022の場合、新しいディレクトリのパーミッションは777 - 022 = 755(所有者にすべての許可、グループと他のユーザーに読み取りと実行)となります。

実例

  • umask 022:新しいファイルは644、新しいディレクトリは755のパーミッションになります。
  • umask 077:新しいファイルは600、新しいディレクトリは700のパーミッションになります。

これは非常に制限されたパーミッションで、所有者以外はアクセスできません。
基本的に自分が作成したファイルは自分以外にアクセスさせてたくない場合に設定しましょう。

umaskの設定と確認

  • umaskコマンドで現在のumask値を確認できます。
  • umaskコマンドを実行して値を設定できます(例:umask 022)。

umaskを適切に設定することで、セキュリティを確保しつつ、必要なアクセス権を提供するバランスを取ることができます。