Como adiciono permissões para agrupar para corresponder às permissões do usuário?

6

Alguém errou as permissões / usr / local /, para que ninguém mais possa acessá-lo. Agora gostaria de duplicar as permissões do usuário para agrupar as permissões, pois chmod g + rx -R / usr / local não é seguro. Como isso deve ser feito?

Usando o linux (Ubuntu 10.04).

    
por TiansHUo 28.02.2011 / 10:46

3 respostas

12

Você pode copiar permissões:

chmod -R g=u /usr/local

Isso copiará as permissões do usuário para as permissões do grupo.

    
por 28.02.2011 / 13:17
1
cd /usr/local
chmod -R g-rwx .
find . -perm -u+r -exec chmod g+r {} \;
find . -perm -u+w -exec chmod g+w {} \;
find . -perm -u+x -exec chmod g+x {} \;

Isso primeiro limpa as permissões do grupo de todos os arquivos. Em seguida, ele deve pesquisar para baixo, examinando cada arquivo para cada um dos três bits de permissão do usuário, por sua vez (r, w, x). Para cada permissão, quando encontrar um arquivo que tenha esse bit definido (desconsiderando seus outros bits de permissão do usuário), ele define o bit de grupo equivalente para esse arquivo.

Eu strongmente aconselho você a testar isso em um subdiretório aleatório primeiro, de preferência com alguns arquivos que você mesmo faz. Mas funciona nos meus testes comparáveis.

    
por 28.02.2011 / 11:15
0

eu encontrei esta solução baseada em perl na net também.

find . | perl -ne 'chomp; $a = (stat $_)[2] & 07777; $a = ($a & 07707) | (($a >> 3) & 070); chmod($a, $_)'

mas o

    chmod g=u

mencionado em outro lugar é melhor eu acho

    
por 29.09.2011 / 04:11