Adicione permissões de leitura a todos os diretórios de um caminho

4

Eu quero adicionar (não modificar outras permissões de arquivo) para todos os diretórios no caminho escrito abaixo. Algo como chmod -R xx4 /home/mDB/admin/KNUCKLES/dbs/

O caminho

/home/mDB/admin/KNUCKLES/dbs/

Eu tento com esse comando que encontrei em um fórum, mas não funciona para mim.

chmod +r /home/mDB/admin/KNUCKLES/dbs/ -R

Eu só quero alterar as permissões para todos os usuários, não para o proprietário do arquivo / diretório ou para os grupos.

Obrigado antecipadamente.

    
por Jorge Vega Sánchez 03.10.2013 / 14:48

3 respostas

4

Você pode dizer:

chmod -R o+r /home/mDB/admin/KNUCKLES/dbs/

Isso daria read permissão recursivamente para outros , ou seja, não proprietário / grupo.

EDIT: Como por seu comentário, parece que as permissões para diretórios é o problema e não de arquivos. Você poderia dizer:

chmod o+rx /home/mDB/{admin,admin/KNUCKLES,admin/KNUCKLES/dbs}

Observe que, como esses são diretórios, você precisa definir o% run x . Sem isso, r não teria nenhum propósito!

    
por 03.10.2013 / 14:53
3

Você terá que dividir e emitir vários comandos.

chmod -R xx4 /home/
chmod -R xx4 /home/mDB/
chmod -R xx4 /home/mDB/admin/
chmod -R xx4 /home/mDB/admin/KNUCKLES/
chmod -R xx4 /home/mDB/admin/KNUCKLES/dbs/

Alguém com uma linha de comando mais avançada do que eu pode conhecer um caminho mais curto.

    
por 03.10.2013 / 18:07
0

Para definir o bit de execução apenas para diretórios, faça o seguinte:

chmod -R a+X dir

Do homem chmod:

execute/search only if the file is a directory or already has execute permission for some user (X)

Resposta de: link

    
por 01.10.2018 / 16:09