Usando este post útil, sou capaz de definir um grupo padrão e permissões de arquivo em uma pasta.
Estou tendo problemas para definir um proprietário padrão (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
Com isso:
[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
Portanto, o grupo certo é atribuído, mas o novo arquivo possui a propriedade do usuário que está criando o arquivo. Eu gostaria que os arquivos recém-criados tivessem teamlead: web_prod owner / group.
Parece que também setfacl
pode ser usado para definir um usuário padrão. Com a pasta existente acl config (acima):
[mary@boxen]# setfacl -d -m u:1234:rwx /my/test/folder
Agora, crie um arquivo como um usuário diferente. Estou esperando que ele tenha teamlead: propriedade 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
O novo arquivo ainda possui a propriedade do proprietário que está criando o arquivo, e não o uid 1234 (líder da equipe).
É o que eu busco até possível, ou é o modo como estou fazendo isso errado?
Sempre é criado um novo arquivo pertencente ao usuário em que o processo de criação do arquivo está sendo executado. (O ID do usuário efetivo, para ser mais preciso.) Isso não pode ser alterado, pois permitir que os usuários criem arquivos pertencentes a outros usuários seria uma brecha na segurança, semelhante a permitir que usuários não raiz entreguem um arquivo .
Tudo o que você está tentando fazer, não precisa fazer isso. As ACLs são suficientes para garantir que o que for necessário para ler o arquivo posteriormente tenha permissões suficientes. Deixe o arquivo de propriedade do usuário que o criou.
fonte
g+s
).Se você deseja que os novos arquivos sejam criados com o novo grupo, é necessário alterar o grupo principal.
Para isso, você pode usar usermod e o parâmetro -g
por exemplo
fonte
No Linux, você precisa ter o sgid no diretório pai para herdar o grupo de arquivos. (Embora você não precise do sgid on directory nos sistemas BSD.)
fonte