propriedade da ACL, permissões

0

Problema: Sempre que escrevo um novo arquivo / modifico um arquivo na minha pasta www , permissões e propriedades estão sendo redefinidas nesse arquivo, algumas vezes fazendo com que o servidor não consiga ler os arquivos que eu crio. Então eu preciso ir para o terminal, definir as propriedades etc, que é muito entediante.

Minha pasta www é acessível por meio do Samba.
Sempre que escrevo ou modifico qualquer coisa nessa pasta, recebo as permissões e a propriedade do arquivo redefinido para jay:jay , que não podem ser lidos por apache .

Procurei on-line e vi isso pergunta . Então eu tentei:

sudo setfacl -Rdm g:apache:rx www
sudo chmod g+s www

agora o resultado é este:

drwxr-sr-x+ 14 jay apache  4096 Aug 15 21:09 www

Mas agora, sempre que eu tento algo como:

touch somefile.txt

Eu obtenho estas configurações:

-rw-r--r--+ 1 jay apache 0 Aug 15 23:07 somefile.txt

Eu achei que as permissões manteriam a permissão da pasta, não?

com relação à propriedade, tudo bem, mas as permissões não são mantidas!

  1. Digamos que eu queria fazer um chmod automático 750 para a gravação de jay na pasta. Como eu iria sobre isso?
  2. Eu assumo que o pequeno 's' marca o setgid ? Isso significa que qualquer coisa escrita dentro desta pasta receberia a propriedade do grupo da pasta?
  3. Por que isso não afeta meus arquivos? Eu pensei que as configurações de um arquivo recém-criado seriam como as pastas contendo (www) , que é rwxr-xr-x

  4. Existe uma maneira de simplesmente desfazer o setfacl ? Isso é tirar o pouco '+' na linha de permissões?

Estou executando o Ubuntu 12

    
por Ted 15.08.2014 / 23:11

1 resposta

2
  1. Uma maneira seria definir o valor umask como 0022 para jay . O que é "umask" e como funciona? Você também pode definir o umask na configuração do Samba. Veja Como forçar a propriedade do grupo no compartilhamento de samba? para uma exemplo.
  2. Na verdade, significa setgid . Em uma pasta setgid , os arquivos e pastas criados herdam a propriedade do grupo e as pastas herdam o setgid bit.
  3. As configurações dos arquivos recém-criados são definidas usando umask do usuário.
  4. Para redefinir a ACL, a melhor maneira seria usar a ACL original como dada por getfacl , pois a opção setfacl tem --restore . Caso contrário, você pode tentar remover todas as ACLs estendidas usando setfacl -b .

Em relação a sudo e umask : De acordo com o Arch Wiki :

% bl0ck_qu0te%

Isso deve ficar bem (já que a umask do usuário também é 0022 ).

    
por muru 15.08.2014 / 23:18