Categories: Linuxshell

chmod recursivo com referencia em outros arquivos/diretorios

Agradecimentos ao meu colega jb que me passou o parametro para isto.

Cenário: Alguem aplicou chmod 777 recursivo no /etc de um servidor web, alguns clientes tem conta de ssh limitadas, mas com esse nível de permissão qualquer um poderia ler/modificar configurações do servidor.

A contagem de arquivos no /etc é de aproximadamente 2600 arquivos, o que tornaria aplicar chmod manualmente em cada uma delas.

Por sorte esse servidor seria uma maquina virtual, onde outras provem do mesmo template. Entretanto coo /etc de um para outro não é uma opção, poiso  template de origem foi o mesmo, mas as configs são diferentes em cada um

Neste caso a solução foi simples, copiei o /etc de um servidor para dentro do /root deste com problema, no caso fiquei com /etc/ e /root/etc/. OBS: gzipiei e copiei, pra manter as permissões.

Usei a flag –reference do chmod pra copiar somente as permissões.

Comando executado:

for i in `/usr/bin/find /etc/`; do /bin/chmod --reference=/root$i $i; done

explicando em miúdos:
executei um find no /etc/ para obter todos os arquivos, usando um for para varrer cada linha e executando chmod em arquivo por arquivo do /etc baseado nas permissões existentes em /root/etc/

Felipe Braz

Recent Posts

Como Criar Rede Wi-Fi de Visitante em Roteadores Ax3000t com OpenWRT

Depois que comprei os roteadores ax3000t e finalmente consegui instalar o openwrt neles. Agora chegou…

3 meses ago

Como criar e validar credenciais seguras em Ansible sem dor de cabeça – Guia passo a passo

A criação e validação de credenciais seguras em ansible sempre gera um pouco de dor…

2 anos ago

Magento e o mistério do servidor somente-leitura

Dia desses, um dos meus servidores entrou com o sistema de arquivos / em modo…

5 anos ago

Localização de arquivos .desktop no ubuntu

O launcher do ubuntu não fornece muitas opções me relação aos icones, muitas vezes apps…

5 anos ago

Ordenar array por tamanho em php

Três meios diferentes para a mesma finalidade: Usando funções nativas do PHP (recomendado): array_multisort(array_map('strlen', $array),…

6 anos ago

Adicionar suporte a rc.local no ubuntu 16.04 ou superior

Embora um script muito útil para tarefas de inicialização de um servidor, essa funcionalidade se…

6 anos ago