LinuxおよびUnixシステムのUMASKは、実際にはユーザーマスクと呼ばれるか、ユーザーファイル作成マスクとも呼ばれます。これは、Linuxボックスに新しいファイルまたはフォルダが作成されたときに付与される一種の基本権限またはデフォルト権限です。
Linuxのディストリビューションのほとんどは022
を提供します デフォルトのUMASKとして。これは、システムによるファイルとフォルダーへのデフォルトのアクセス許可であると言えます。 Linuxでファイルまたはディレクトリを作成する場合、それらはumask設定によって管理されます。
この場合、システム管理者がデフォルトのumaskを0000
に設定していません。 。つまり、作成された新しいファイルには各ユーザーの読み取りと書き込みのアクセス許可があり、新しいディレクトリには読み取り、書き込み、実行のアクセス許可があります。
LinuxでUMASKを計算するにはどうすればよいですか?
1つは、umask値はファイルとフォルダーで一般的に同じですが、ファイルとディレクトリのアクセス許可に基づくこれらの値の計算は異なります。
ディレクトリの最小UMASK値:000
および最大:777
ファイルの最小UMASK値:000
および最大:666
ここで、最大値を維持する理由666
ファイルの場合、Linuxのスクリプトファイルとバイナリファイルには実行権限のみが必要であるためです。 Linuxの通常のファイルには、読み取りと書き込みのアクセス許可のみが必要です。通常、umaskはビット単位のAND演算子を使用して計算されます。一般的な8進表記のいくつかは次のとおりです。
0 -- Read, Write and Execute
1 – Read and Write
2 – Read and Execute
3 – Read Only
4 –Write and Execute
5 –Write Only
6 –Execute Only
7 –No Permissions
これで、上記の表を簡単に利用して、ファイルのアクセス許可を計算できます。たとえば、umaskが077に設定されている場合、権限は通常、次のように計算されます。
0 – Owner – Read, Write and Execute
7 – Group – No Permissions
7 – Others – No Permissions
上記のumaskを設定するには、コマンドを入力する必要があります
$ umask 077
$ mkdir folder1
$ touch testfile
$ ls –ld folder1 testfile
Output:
drwx------ 2 demo demo 4096 2013-07-04 01:34 folder1
-rw------- 2 demo demo 0 2013-07-04 01:34 testfile
現在のumask値を表示する
引数なしでumaskコマンドを実行すると、現在のマスク値が表示されます。
$ umask
0022
シンボリック値を使用してumaskを設定するにはどうすればよいですか?
以下に、使用できる記号値を示します。
r
:読み取り、w
:書き込み、x
:実行、u
:ユーザー所有権、g
:グループの所有権とo
:その他の所有権
例:
$ umask u=rwx, g=, o=
$ mkdir folder1
$ touch testfile
$ ls –ld folder1 testfile
umaskの制限は何ですか?
1。 umaskコマンドを使用して、アクセス許可を制限できます。
2。 ファイルやフォルダの作成に使用されるプログラムで通常指定されている以上の追加の権限を付与することはできません。変更を加える場合は、代わりにchmodコマンドを使用する必要があります。
3。 多くのオペレーティングシステムには、実行権限で作成する必要のあるファイルがありません。このような環境では、新しいファイルでは常に実行権限が無効になります。
4。 マスクは、新しいファイルを作成する関数にのみ適用されます。
結論
このチュートリアルでは、Linuxでのumaskとは何か、および新しいumask値を設定するコマンドについて学習しました。読んで楽しんでいただければ幸いです。詳細については、umaskのマニュアルページを参照してください。