Используя этот полезный пост, я могу установить группу по умолчанию и права доступа к файлам в папке.
У меня проблемы с установкой владельца по умолчанию (teamlead uid 1234).
setfacl -d -m g::rwx /my/test/folder
setfacl -d -m o::rx /my/test/folder
getfacl /my/test/folder
# file: /my/test/folder
# owner: teamlead
# group: web_prod
# flags: -s-
user::rwx
group::r-x
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x
С этим:
[mary@boxen]# touch /my/test/folder/somefile
[mary@boxen]# ll /my/test/folder/somefile
-rw-rw-r--. 1 mary web_prod 0 Nov 6 08:58 somefile
Таким образом, правая группа назначена, но новый файл принадлежит пользователю, создавшему этот файл. Я хотел бы, чтобы вновь созданные файлы имели teamlead: владелец / группа web_prod.
Похоже, что setfacl
можно использовать и для установки пользователя по умолчанию. С существующей папкой acl config (выше):
[mary@boxen]# setfacl -d -m u:1234:rwx /my/test/folder
Теперь для создания файла от имени другого пользователя. Я ожидаю, что у него будет команда teamlead: web_prod.
[mary@boxen]# touch /my/test/folder/anotherfile
[mary@boxen]# ll /my/test/folder/anotherfile
-rw-rw-r--+ 1 mary web_prod 0 Nov 6 08:58 somefile
Новый файл все еще принадлежит владельцу, создавшему файл, а не uid 1234 (teamlead).
Возможно ли то, что я преследую, или я ошибаюсь?
Всегда создается новый файл, принадлежащий пользователю, от имени которого выполняется процесс создания файла. (Если быть точным, эффективный идентификатор пользователя.) Это нельзя изменить, потому что разрешение пользователям создавать файлы, принадлежащие другим пользователям, было бы дырой в безопасности, подобно тому, как пользователи без полномочий root могут выдавать файл .
Что бы вы ни пытались сделать, вам не нужно этого делать. Списки ACL достаточны для того, чтобы все, что потребуется для чтения файла позже, имело достаточные разрешения. Оставьте файл, принадлежащий пользователю, который его создал.
источник
g+s
).Если вы хотите, чтобы новые файлы были созданы с новой группой, вам нужно изменить основную группу.
Для этого вы можете использовать usermod и параметр -g
например
источник
В Linux вы должны иметь sgid для родительского каталога, чтобы наследовать группу для файлов. (Хотя вам не нужен sgid для каталога в системах BSD.)
источник