15003問題を開くumaskコマンドを実行すると以下のように表示された。この場合、新規で作成するファイルのパーミッションの説明として正しいものはどれか。所有グループのユーザは読み取りのみができるその他のユーザは何もできない解説umaskコマンドではマスク値というものを設定して、新規に作成するファイルとディレクトリのデフォルトのパーミッションを決定します。マスク値はユーザ毎に指定できます。通常「/etc/bashrc」などに設定されており、シェルの起動時にシステムのデフォルト値に戻ります。[マスク値]マスク値が0の場合に使用されるデフォルトのパーミッションは、ファイルが「666」、ディレクトリが「777」です。これらの値から、指定したマスク値を引いた値が新たなデフォルトのパーミッションとして設定されます。umaskと単体で実行すると現在のumask値を表示します。設問のマスク値「0037」の1桁目の0は、ファイル実行時の権限などに関する特殊なパーミッションですが、通常は0で特に意味を持ちません。2桁目以降の「037」は各桁が独立して、左から所有ユーザ、所有グループ、その他のユーザを表します。新規で作成するファイルとディレクトリのパーミッションから各桁ごとに「037」を引いた場合、次のようになります。ファイルのデフォルトのパーミッションは「666」で実行権が無いので、umask値に関わらず実行権は付与されません。上図より、新規で作成するファイルのパーミッションは「640」です。したがって正解は・所有グループのユーザは読み取りのみができる・その他のユーザは何もできないです。その他の選択肢については以下の通りです。・所有ユーザは読み取り、書き込み、実行ができるファイルのデフォルトのパーミッション「666」には実行権は無く、マスク値「037」を引いても実行権が無いことは変わりませんので、誤りです。・所有グループのユーザは読み取り、書き込みができる所有グループのユーザは書き込みはできませんので、誤りです。・その他のユーザは読み取りのみができるその他のユーザはどの権限もありませんので、誤りです。参考パーミッションとは、ファイルやディレクトリに対する権限です。権限には「読み取り権」「書き込み権」「実行権」の3種類があります。これらの権限は、「所有ユーザ」(ファイルの所有ユーザ)、「所有グループ」(ファイルの所有グループ)、「その他のユーザ」(所有ユーザ、所有グループ以外のユーザ)のそれぞれに対して設定されます。誰がどのような権限を持つのか、パーミッションの表現方法には「記号表現」と「数値表現」の2つがあります。以下のような表現があったとします。左から順に「所有ユーザ」「所有グループ」「その他のユーザ」の権限を表しています。記号表現の「-」は権限が無い事を意味します。「所有ユーザ」の権限は数値表現で6ですが、これは読み取り権(4)と書き込み権(2)の数値を足したもので、それらの権限がある事を表しています。これは、「所有ユーザ」に「読み取りと書き込み」の権限、「所有グループ」「その他のユーザ」には「読み取り」の権限のみが与えられている事がわかります。全てのユーザに「読み取り」「書き込み」「実行」の権限がある場合は、以下のように表現されます。それぞれの権限は、ファイルに適用した場合とディレクトリに適用した場合では、それぞれ許可される内容が異なりますので、注意して下さい。試験では主にファイルに適用した場合について問われます。回答では640になるとなっています。考え方を教えてください。06:56666というのはrw-rw-rw-の状態を表しますよね。数値にするとr=4,w=2,x=1です。3を引くというのはw=2,x=1の権限をはく奪するという意味なので、wとxの権限がなくなったら所有グループの権限は残りr=4のみになります。答えは640で合っていることになります。