Como definir arquivos e pastas para suas permissões padrão?

1

Estou usando o Debian e quero reinstalar um backup de arquivos pessoais e de configuração (a pasta / home inteira de um usuário) em um novo computador.

Por alguma razão eu não consigo entender, todos os arquivos do meu backup inteiro tem as mesmas permissões: 777 / -rwxrwxrwx. Isso é muito permissivo para alguns arquivos de configuração. Por exemplo, a primeira vez que usei o ssh após reinstalar o backup, tive que fazer um "chmod 600 ~ / .ssh / config" para poder iniciar o ssh.

Eu realmente não sei porque isso aconteceu. Eu backup com rsync -av com deve preservar as permissões e meu disco rígido externo está usando um sistema de arquivos ext4.

De qualquer forma, eu tenho apenas este backup e nenhuma possibilidade de fazer outro (o computador morreu). Eu estou procurando uma maneira de definir arquivos e pastas para suas configurações padrão (por exemplo, eu acho que o arquivo .ssh / config é 600) automaticamente.

Existe uma maneira de conseguir isso automaticamente?

    
por ppr 29.10.2016 / 00:07

1 resposta

1

Aqui você vai;

ORIG_DIR="/bla/bla"
BKUP_DIR="/bla/dee"
:~$ find $ORIG_DIR | while read aline; do perm=$(stat "$aline" | grep "Access: (" | sed 's/Access: (//;s/\/.*//'); chmod -v $perm "$BKUP_DIR/$aline"; done

Eu fiz um exemplo;

:~$ mkdir ooh
:~$ mkdir noo
:~$ touch ooh/mog1 ooh/mog2 ooh/mog3
:~$ rsync -av ooh noo
sending incremental file list
ooh/
ooh/mog1
ooh/mog2
ooh/mog3

sent 245 bytes  received 77 bytes  644.00 bytes/sec
total size is 0  speedup is 0.00
:~$ ls -la noo/ooh/
total 32
drwxr-xr-x 2 mike mike 4096 Oct 28 23:09 .
drwxr-xr-x 3 mike mike 4096 Oct 28 23:10 ..
-rw-r--r-- 1 mike mike    0 Oct 28 23:09 mog1
-rw-r--r-- 1 mike mike    0 Oct 28 23:09 mog2
-rw-r--r-- 1 mike mike    0 Oct 28 23:09 mog3
:~$ chmod 700 ooh/mog1
:~$ chmod 600 ooh/mog2
:~$ chmod 555 ooh/mog3
:~$ find ooh
ooh
ooh/mog1
ooh/mog3
ooh/mog2
:~$ find ooh | while read aline; do perm=$(stat "$aline" | grep "Access: (" | sed 's/Access: (//;s/\/.*//'); chmod -v $perm "noo/$aline"; done
mode of 'noo/ooh' retained as 0755 (rwxr-xr-x)
mode of 'noo/ooh/mog1' changed from 0644 (rw-r--r--) to 0700 (rwx------)
mode of 'noo/ooh/mog3' changed from 0644 (rw-r--r--) to 0555 (r-xr-xr-x)
mode of 'noo/ooh/mog2' changed from 0644 (rw-r--r--) to 0600 (rw-------)
    
por 29.10.2016 / 00:20