Linuxのデフォルトグループ所有者にファイルを作成すると、ファイルを作成するプロセスのgidになります。 SGIDを親ディレクトリに追加すると、ファイルは親ディレクトリの所有者グループを継承します。また、sys5やBSDのように動作するようにfsマウントオプションを変更することもできます。Linuxでファイルを作成するときにBSDまたはsys5スタイルを選択してください
ディレクトリのアクセス権とfsマウントオプションに関係なくこのオプションを選択したいのですが?あなたがグループの所有者を選ぶことを可能にするcの関数オプションかsyscallパラメータがありますか?
$ find . -ls
262 4 drwxrwxr-x 4 devops devops 4096 Apr 24 18:01 .
999 4 drwxrwxr-x 2 devops root 4096 Apr 24 18:03 ./dir1
6093 4 drwxrwsr-x 2 devops root 4096 Apr 24 18:03 ./dir2
$ touch dir1/file dir2/file
$ find . -ls
262 4 drwxrwxr-x 4 devops devops 4096 Apr 24 18:01 .
999 4 drwxrwxr-x 2 devops root 4096 Apr 24 18:04 ./dir1
5576 0 -rw-rw-r-- 1 devops devops 0 Apr 24 18:04 ./dir1/file
6093 4 drwxrwsr-x 2 devops root 4096 Apr 24 18:04 ./dir2
6094 0 -rw-rw-r-- 1 devops root 0 Apr 24 18:04 ./dir2/file
$
そして、私はそのような何かを持っていることを望む:
$ mytouch -s BSD dir1/file1
$ mytouch -s sys5 dir1/file2
$ find dir1 -ls
999 4 drwxrwxr-x 2 devops root 4096 Apr 24 18:10 dir1
6213 0 -rw-rw-r-- 1 devops root 0 Apr 24 18:10 dir1/file1
6214 0 -rw-rw-r-- 1 devops devops 0 Apr 24 18:10 dir1/file2
$
コードください。文脈は重要です。あなたが本当にパーミッションを気にしているなら、 'chown()'と 'chmod()'はコマンドラインの友達と同じことをします。スティッキービットに応じて、実際にハッキーであり、私はそれを強く抑えるだろう。 – tadman