022の代わりにumask 002を選ぶ理由は何ですか?

022の代わりにumask 002を選ぶ理由は何ですか?

今日は、ホームシステムでグループと権限を整理し、umaskについてもう一度学びます。私のシステム(Ubuntu 18.10)のデフォルトは002のようですが、rootの場合は0022です。

現在の目的のために余分な部分を無視すると思いました。デフォルトは002で、私のユーザー名に関連付けられているグループ内のすべてのユーザーが自分のファイルを編集できます。 022ではそうではありません。今、私はこのグループ(rootのグループでもない)を使ったことがないので、なぜ使用されるのか、この状況ではどのような権限が適切かわかりません。

原則として、なぜ他のものを選ぶのですか?さらに、ルートのumask(この部分)が一般ユーザーのumaskと異なるのはなぜですか?

答え1

デフォルトは002で、私のユーザー名に関連付けられているグループ内のすべてのユーザーが自分のファイルを編集できます。

ユーザーの個人グループに他のユーザーがいるという概念ではありません。アイデアはグループがあるかもしれないということです。プロジェクトあるいは同様で、複数のユーザーをメンバーとして持つこともできます。ファイルのグループ所有者は、個々のユーザーではなくプロジェクトにすることができ、次のように適用されます。設定プロジェクトディレクトリに。 umask はグループへの書き込みアクセスを許可するため、プロジェクトグループのすべてのメンバーはそのファイルに書き込むことができます。

fooユーザーがumaskを使用していると仮定すると、次のように動作します002

#[グループprojにfooユーザーを追加]
#mkdir /work/projects
# chmod u=rwx,g=rwx,o=,g+s /work/proj
# ls -ld /作業/プロジェクト
drwxrws--- 2ルートプロジェクト 4096 6月14日 17:48 /work/proj/
$マスク
0002
$ cd /作業/プロジェクト
$ echo "ここにデータがあります" > file.txt
$ls -l ファイル.txt
-rw-rw-r-- 1 foo proj 15 6月14日 17:51 file.txt

グループ所有者と一緒にファイルがどのように作成されたかを確認しますproj(なぜなら設定b) umask のため、グループ全体への書き込みアクセス権があります。ユーザーに正しいumaskを要求する代わりに、次のコマンドを使用してディレクトリを設定できます。基本アクセス制御リスト、設定されている場合はumaskの機能を置き換えます。

少なくとも、各ユーザーグループとumaskに関する追加情報があります。ここそしてレッドハットマニュアル(これはRHEL 4用のマニュアルであり、この問題に関する最新のマニュアルはより短いようです。)また、次の質問も関連しています。各ユーザーが自分のグループを持っているのはなぜですか?


ユーザーが手動で権限を操作するのを防ぐ方法はありません。ファイル所有者はいつでも適切であると思うように権限を変更できるため、これを防ぐことはできません。今日、人々は共同作業のためにWebサービスをより頻繁に使用しており、ファイルとディレクトリの権限に関するこれらの練習は不要です。

関連情報