Você faz muitas suposições em sua pergunta. Se eu apenas responder seu título, eu diria "um script". Não conheço ferramentas comuns porque não é algo que você faria normalmente.
Você tem o modelo de permissões padrão do Unix e o Listas de controle de acesso . O primeiro é gerenciado usando chmod
e chflags
- o outro usando setfacl
e getfacl
.
Eu não vejo problema em ver as ACLs, uma de cada vez, sendo um problema. Essa é a maneira Unix de fazer as coisas. Então você pode construir bons canais. Se você quiser apenas verificar se os arquivos têm diferentes ACLs que o pai, construa o pipeline de acordo.
Da sua pergunta você parece pensar que é óbvio como você quer monitorar as coisas e mantê-las no lugar. Mas você não dá nenhum exemplo específico . O que é óbvio para você não é óbvio para o resto de nós.
Então! Eu tenho um script acessível para resolver seu problema específico? Não. Mesmo se você colocar uma tag de 'awk' eu não pretendo escrever uma: -)
Mas eu tenho alguns padrões típicos:
1. Estar no controle
As ACLs podem ser extremamente poderosas e, configurando tudo com grande atenção aos detalhes, você pode garantir que as permissões permaneçam como você pretende. Isso naturalmente exige que você esteja no comando. Usando o acls adequado, você tem algo muito mais poderoso que o simples usuário / grupos. Se eu for o único responsável pela designação, dedicarei um enorme esforço para garantir que as coisas estão definidas como eu quero. Se este é o caso, então devemos discutir como evitar ser permissivo em um contexto específico. Se os usuários não tiverem a intenção de definir as permissões, devemos defini-las de acordo. A hereditariedade pode ser um desafio, mas pode ser resolvida.
2. Assuma o controle
Outra abordagem típica e simples seria simplesmente redefinir as permissões. Isso é útil se mais pessoas tiverem acesso administrativo. Então, ao invés de depender de que isso pareça correto, defina seus pontos de estrangulamento e redefina as permissões. Se você quiser que os arquivos tenham as mesmas permissões que os pais, passe pelos pais e redefina os filhos. Qualquer administrador desafortunado que tenha definido permissões ruins será "ajudado" pelo sistema. Se este for o caso, o script será uma lista trivial de chmod / chflags / setfacls / setuid.
3. Zelador
Se você tem um sistema verdadeiramente complexo com segurança descontraída e precisa atuar como zelador e limpar de maneira cuidadosa (em vez de simplesmente assumir o controle), então, em alguns casos, pode fazer sentido examinar Sistemas de Detecção de Intrusão ( IDS). Um desses sistemas bem conhecidos pode ser tripwire . Isso ajuda você a monitorar seu sistema e a notificá-lo caso ocorram mudanças inesperadas. Você deve, em particular, olhar para a política do twpolicy