Вероятно, не самый элегантный способ, но он , кажется, работает
$ umask 0002
$ mv value.c value.c.tmp
$ cat value.c.tmp > value.c
$ rm value.c.tmp
Можно утверждать, что это можно сделать пуленепробиваемым, но тогда кто-то принесет RPG ...
Если вам обоим нужно chmod, я не могу придумать другого пути - если все нормально, то ВЫ можете chmod
, но нет другого парня,вы можете chmod 6770 .
или chmod g+s,u+s .
в каталоге (например, установить биты SUID и GUID), чтобы владелец файлов всегда был владельцем каталога.К сожалению, некоторые (если не большинство), а именно EXT2 / 3/4 игнорируют бит SUID.
Конечно, установка umask на 0002 решит проблему, не делая ее обязательной.