Como remover a ACL de um diretório e retornar ao controle de acesso normal?


29

Utilizamos um servidor de hospedagem do FreeBSD 10.3, onde não temos autoridade para ser um superusuário. Usamos o servidor para executar o apache2 nas páginas da web da nossa empresa. O administrador anterior de nossas páginas da Web parecia definir uma permissão de ACL para um diretório, mas queremos removê-la. Digamos que o diretório seja chamado foobar.

Agora, o resultado de ls -al foobaré o seguinte:

drwxrwxr-x+   2 myuser  another_user   512 Nov 20  2013 foobar

E a permissão é a seguinte:

[myuser@hosting_server]$ getfacl foobar
# file: foobar/
# owner: myuser
# group: another_user
user::rwx
group::rwx
mask::rwx
other::r-x

Aqui, queremos remover a permissão da ACL e o sinal de mais no final da lista de permissões. Portanto, nós fizemos

setfacl -b foobar

Eliminou a permissão especial governada pela ACL, mas não apagou o sinal de mais +.

Nossa pergunta é como podemos apagar o sinal de mais +na lista de permissões, mostrada por 'ls -al foobar'?


getfaclindica não ACLs. No entanto, lsestá mostrando a +. Tem certeza de que está sempre olhando para o mesmo arquivo? (isto é, normalmente a razão para me)
ctrl-alt-Delor

@ Richard sim, definitivamente o mesmo arquivo.
Taiki Bessho

Respostas:


28

Nosso problema foi resolvido usando:

setfacl -bn foobar

O ponto foi que também tivemos que remover o aclMask do diretório com uma opção -n ... A página de manual setfacldiz o seguinte:

 -n      Do not recalculate the permissions associated with the ACL mask
         entry.  This option is not applicable to NFSv4 ACLs.

Não sabemos ao certo por que essa opção funcionou, mas funcionou ...


Caso você obtenha d?????????permissão após a solução acima, tente chmod -R a+rXcomo dois comentados abaixo.


Isso fez com que meus arquivos: d?????????isso é estranho
JREAM

11
Atualização: Isso resolveu chmod -R a+rXa capital X
JREAM

@JREAM Qual sistema Linux você usa?
Taiki Bessho

Eu tenho o mesmo d ?????? coisa com o Ubuntu 16. Corrigido com o chmod acima. Esquisito.
TonyG

3

Estranho ... não é possível reproduzir:

ls -l | grep foobar
drwxr-xr-x+ 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

setfacl -b foobar/
ls -l | grep foobar
drwxr-xr-x 2 maulinglawns maulinglawns 4096 jan 24 14:25 foobar

Infelizmente, não tenho acesso ao BSD para testar agora.


Informação do sistema:

Distributor ID: Debian
Description:    Debian GNU/Linux 8.7 (jessie)
Release:    8.7
Codename:   jessie

Na verdade, eu não posso reproduzir no servidor Ubuntu 16.04.1 ...
Taiki Bessho

Por fim, consegui excluir o sinal de mais, setfacl -bn foobarmas não sei por que a nopção funcionou.
Taiki Bessho
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.