setuid (e outras) permissões perdidas ao copiar / em outro lugar - o que fazer?

1

Eu classifiquei uma distribuição Debian 7.x existente copiando o conteúdo do sistema de arquivos raiz (não os dirs especiais, é claro) para outro disco rígido. Eu iniciei, as coisas parecem correr, mas - eu recebo alguns erros estranhos. Um deles - sudo e su não correria, reclamando da falta de permissão para os binários. Bem, eu consertei isso, e agora eles não reclamam, mas - talvez existam outros arquivos cuja permissão foi estragada durante a cópia? Existe alguma maneira de verificar e corrigir todas as permissões de arquivos relevantes?

    
por einpoklum 30.01.2015 / 15:30

5 respostas

3

Host original (ou outra distro recentemente instalada semelhante):

getfacl -R / > permissions.acl

seu host:

setfacl --restore=permissions.acl

de aqui

    
por 30.01.2015 / 18:26
1

Foi para isso que Deus fez rsync .

Eu clonei minhas instalações usando rsync -avxt --delete-before , então eu corro lilo para torná-las independentemente inicializáveis. Sim, tem que ter certeza que seu fstab não usa UUIDs, ou tudo vai para o inferno. Eu uso rótulos para que não importe a ordem de disco ( sda , sdb , etc.).

    
por 31.01.2015 / 03:31
0

Não há uma maneira fácil de pensar. Uma maneira seria reinstalar todo e qualquer pacote que você tenha em /var/cache/apt/archives como root ( sudo su ).

cd /var/cache/apt/archives
for i in *.deb
do
sudo dpkg -Gi $i
done

Na próxima vez, use a opção -p do rsync / cp ou equivalente ao que você estava usando para copiar os arquivos.

    
por 30.01.2015 / 15:45
0

Use tar para arquivar os arquivos e depois extraí-los. Você p chave quando extrair para manter as partições originais

    
por 30.01.2015 / 15:50
0

Use rsync para copiar novamente os arquivos. Eu acho que vai notar que apenas as permissões precisam ser copiadas, então elas serão corrigidas enquanto você deixa o conteúdo em paz, então deve ser relativamente rápido.

    
por 30.01.2015 / 18:08