No caso em que o diretório inicial do usuário contém um ou mais pontos de montagem NFS, como posso ignorar essas montagens e alterar com eficiência as permissões do diretório?
Desejo executar chmod o-rwx
em todos os diretórios não montados no diretório inicial de um usuário.
Estarei executando o comando como usuário root porque estou fazendo isso para todos os usuários do sistema. (As montagens NFS têm a root_squash
opção de montagem.)
Aqui está o que eu tentei. No entanto, não está funcionando como esperado.
sudo find /home/myuser/ -mount -path ./Documents -prune -o -type d -exec chmod o-rwx {} \;
chmod: changing permissions of '/home/myuser/Documents': Operation not permitted
Eu quero evitar a mensagem de erro. Mais importante, o comando find está demorando muito para ser executado. Acredito que isso indica que está descendo para os pontos de montagem (que contêm muitos diretórios e arquivos).
Outro problema com meu comando é que eu tenho que codificar explicitamente os locais para pular. Todos os usuários têm Documentos montados, mas alguns usuários têm outras montagens NFS de nomes diferentes.
Meu objetivo é automatizar a correção de problemas simples de permissão de diretório em uma conta de usuário (ou seja, chmod o-rwx
). Como posso fazer isso na minha situação?
Aqui está a solução que eu encontrei:
As opções negadas
fstype
resolveram um ou dois dos meus problemas. O-maxdepth 1
resolveu o outro (velocidade).Pode ser possível combinar as duas
-fstype
opções. Se alguém souber, por favor edite esta resposta.