ディレクトリとファイル用の他のUmask

ディレクトリとファイル用の他のUmask

ディレクトリとファイルに異なるumaskを設定する方法は?

umask 003ディレクトリとファイルが必要ですumask 117

答え1

umaskそれはグローバルですbash。あなたができることの1つは、mkdir実行後にマスクを変更するラッパー(スクリプトの命名)を作成することです。

#!/bin/bash
umask 0701 ; /path/to/real/mkdir $1 ; umask 0604

これに対する答えは次のとおりです。

覚えておいてください:ディレクトリの場合はデフォルトの権限は(rwxrwxrwx0777、ファイルの場合はデフォルトの権限はです0666。これは、umaskが許可してもシェル内でファイルを作成したときに実行権限を取得できないことを意味します。これはセキュリティを強化するために行われました。新しいファイル生成について

例:

[admin@host test]$ pwd
/home/admin/test
[admin@host test]$ umask
0002
[admin@host test]$ mkdir test
[admin@host test]$ touch test_file
[admin@host test]$ ls -l
total 4
drwxrwxr-x 2 admin admin 4096 Jan 13 14:53 test
-rw-rw-r-- 1 admin admin    0 Jan 13 14:53 test_file

umask Unixの仕様このファイルに対する権限の数学的詳細については何も教えてくれません。決定するのは、シェル開発者(およびオペレーティングシステムの製造元)の役割です。

答え2

参考にしてください標準mkdirコマンド-mオプションで、生成時に許可ビットを設定できます。

-m mode

結果ディレクトリのファイル許可ビットを指定されたモードに設定します。モードパラメータは、コマンドで指定された任意の形式にすることができますchmod(1)。シンボルモードが指定されている場合、操作文字は初期+モードに基づいて解釈されます。-a=rwx

あなたの場合は、ファイルのアクセス許可に必要な値にumaskを設定し、その-mオプションを使用してフォルダを作成できます。

関連情報