파일과 폴더를 기본 권한으로 설정하는 방법은 무엇입니까?

파일과 폴더를 기본 권한으로 설정하는 방법은 무엇입니까?

저는 Debian을 사용하고 있으며 개인 및 구성 파일(사용자의 전체 /home 폴더) 백업을 새 컴퓨터에 다시 설치하고 싶습니다.

어떤 이유로 든 전체 백업의 모든 파일에는 777 / -rwxrwxrwx라는 동일한 권한이 있습니다. 일부 구성 파일의 경우 이는 너무 허용적입니다. 예를 들어, 백업을 다시 설치한 후 처음 ssh를 사용할 때 ssh를 시작하려면 "chmod 600 ~/.ssh/config"를 수행해야 했습니다.

왜 이런 일이 일어났는지 정말 모르겠습니다. 권한을 유지하여 백업 rsync -av하고 외부 하드 드라이브는 ext4 파일 시스템을 사용하고 있습니다.

어쨌든, 이 백업만 있고 다른 백업을 만들 가능성이 없습니다(컴퓨터가 종료되었습니다). 파일과 폴더를 기본 설정(예: .ssh/config 파일이 600이라고 생각함)으로 자동 설정하는 방법을 찾고 있습니다.

이것을 자동으로 달성하는 방법이 있습니까?

답변1

여기 있습니다.

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

나는 예를 들었다.

:~$ 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-------)

관련 정보