ディレクトリとファイルに異なるumaskを設定する方法は?
umask 003
ディレクトリとファイルが必要ですumask 117
答え1
umask
それはグローバルですbash
。あなたができることの1つは、mkdir
実行後にマスクを変更するラッパー(スクリプトの命名)を作成することです。
#!/bin/bash
umask 0701 ; /path/to/real/mkdir $1 ; umask 0604
これに対する答えは次のとおりです。
覚えておいてください:ディレクトリの場合はデフォルトの権限は(rwxrwxrwx
)0777
、ファイルの場合はデフォルトの権限はです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
オプションを使用してフォルダを作成できます。