特定のフォルダに新しく作成されたファイルではなく、フォルダに新しく作成されたサブディレクトリのデフォルト権限のみを設定したいと思います。
どうすればいいですか?
答え1
たぶんあなたはコマンドを検索しているかもしれませんumask
。ファイルまたはディレクトリを作成するときにデフォルトの権限を設定できます。詳細については、次を参照してください。マニュアルページ。
umask
数値または記号の形式にすることができます。
umask a=rx,ug+w
umask 002
ただし、ファイル分割機能をターゲットにせず、ディレクトリのみをターゲットとして指定することはできません。
mkdir
PS withを使用して-m
特定のマスクを設定できます。
[root@rhel9-1 tmp]# mkdir 1
[root@rhel9-1 tmp]# mkdir -m 700 2
[root@rhel9-1 tmp]# ls -ld 1 2
drwxr-xr-x 2 root root 6 Apr 22 12:10 1
drwx------ 2 root root 6 Apr 22 12:10 2
答え2
新しく作成されたファイルまたはディレクトリに対する権限は、a) 生成プロセスによって要求された権限、 b) 生成プロセスのファイル生成マスク (umask) (親プロセスから継承されるため、ユーザーごと) によって変更されるか、または次によって設定されます。ディレクトリのデフォルトACL(存在する場合)
後者はディレクトリとファイルに対して異なる方法で指定することはできませんが、ファイルやディレクトリを作成するときにアプリケーションに必要なことは、生成されるファイルやディレクトリによって異なります。つまり、一般ファイルは権限で作成され、0666
ディレクトリは権限で作成されます0777
。実行可能なファイルに加えて、これらのファイルも権限を使用して作成されます0777
。 umask またはデフォルト ACL はこれらの権限を減らします。どちらも権限を追加できません。たとえば、ssh-keygen
秘密鍵ファイルを生成し、0600
他のユーザーがファイルにアクセスできないようにすることができます。
実行可能性に加えて、ディレクトリとは異なる権限を持つファイルのポイントが何であるかわかりません。通常、同じユーザーは同じ論理的な場所に作成されたすべてのファイルとサブディレクトリにアクセスする必要があります。