Lorsque je crée un fichier dans Linux, le propriétaire du groupe par défaut devient le GID du processus qui crée le fichier. Si j'ajoute SGID au fichier de répertoire parent, cela héritera du groupe propriétaire du répertoire parent. Aussi, je peux changer les options de montage fs pour se comporter comme sys5 ou comme BSD. Que dois-je faire si je veux choisir cette option indépendamment des permissions du répertoire et des options de montage fs? Existe-t-il une option de fonction c ou un paramètre syscall qui vous permet de choisir le propriétaire du groupe?Choisir le style BSD ou sys5 lors de la création d'un fichier sous Linux
$ 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
$
Et je veux avoir quelque chose comme ça:
$ 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
$
Code, s'il vous plaît. Le contexte est important. Si vous vous souciez vraiment des permissions, 'chown()' et 'chmod()' font la même chose que leurs amis en ligne de commande. En fonction de bits collants est vraiment hacky et je déconseiller fortement. – tadman