백업(/etc)에서 파일 소유권을 보존하는 방법은 무엇입니까?

백업(/etc)에서 파일 소유권을 보존하는 방법은 무엇입니까?

나는 백업이 유용할 수 있다고 제안하는 많은 출처를 보았습니다 /etc. 예를 들어 "친구와 가족을 위한 데비안 컴퓨터 지원" 프레젠테이션이 있습니다.

중요한 백업의 경우 잘 정의된 복구 프로세스도 필요합니다(정기적으로 테스트할 수 있습니다 :-).

이러한 시스템 파일을 복구하는 방법,소유권 정보가 포함된 백업에서? 효과적인 복구 프로세스의 예를 들어보세요. 어떤 가정을 했는지 설명하세요. tar또는 등 원하는 백업 도구를 선택할 수 있습니다 etckeeper.


특정 소유자가 있는 파일의 예:

$ ls -l|grep -v "root root"
total 2240
-rw-r-----.  1 root brlapi     33 Nov 15 21:32 brlapi.key
-rw-r-----.  1 root chrony    481 Nov 21 11:03 chrony.keys
drwxr-xr-x.  4 root lp       4096 Apr 18 10:58 cups
-rw-------.  1 tss  tss      7046 Feb  5  2016 tcsd.conf

답변1

내 방법은 설치하는 것입니다관리자를 기다려주세요. 이는 데비안과 그 파생물에 잘 통합되어 있습니다. Etckeeper는 권한을 기억하는 역할을 담당합니다(SELinux 라벨은 제외). 그런 다음 백업은 버전 제어 저장소(예: 원본)를 백업 /etc하는 잘 알려진 문제 로 축소됩니다.git pull/etc

백업을 복원하려면:

  1. 기본 설치를 수행합니다(원래 기본 설치와 동일).
  2. etckeeper필요한 버전 관리 시스템을 설치합니다 .
  3. /etc( git clone또는 이와 동등한) 백업을 복원합니다 git checkout. sourcejedi가 지적했듯이 사용자 또는 그룹 ID를 동적으로 할당하는 패키지를 설치하기 전에 이 작업을 수행해야 합니다.
  4. 설치된 패키지 목록을 복원하고 설치합니다. Etckeeper는 Debian 및 그 파생 제품에서 이를 추적하지 않습니다 apt-clone.한 데비안 시스템에서 다른 데비안 시스템으로 설치된 패키지를 선택하여 복사하는 방법은 무엇입니까? (데비안 헐떡임)).
  5. 재시작.

하드웨어가 정확히 동일하지 않거나 파일 시스템이 다시 포맷된 ​​경우(백업을 복원할 때 흔히 발생함) 일부 기능이 제대로 작동하지 않을 수 있습니다. 보다 원활한 복구를 위해서는 구성의 어디에서나 고유한 하드웨어 식별자(예: MAC 주소, 디스크 일련 번호) 또는 임의 식별(예: 파일 시스템 또는 파티션 UUID 대신 파일 시스템 레이블 사용)을 사용하지 마십시오.

답변2

이 답변은 테스트할 몇 가지 문제의 목록이며 다른 곳에서는 언급된 적이 없습니다. 지금은 복원 방법에 대한 세부 정보가 포함되어 있지 않은 "백업" /etc에 대한 언급을 기꺼이 무시할 수 있습니다. 이 목록이 완전한지 여부는 테스트하지 않았습니다..

다음 단계에서는 질문에 구체적으로 언급되지 않은 것처럼 패키지 업그레이드 중에 etckeeper에서 자주 나타나는 버전별 변경 사항 및 기타 변경 사항도 무시합니다. OpenWrt를 실행하는 라우터와 같이 이것이 문제가 되지 않는 더 간단한 시스템이 있을 수도 있습니다.

  1. 가정: 이 백업에는 구체적으로 /etc.
  2. 가정: 또한 파일 시스템에 대한 참조를 처리하는 방법도 알고 있습니다. 예를 들어 /etc/fstab.
  3. 가정: 대상 시스템에는 어떤 항목도 포함되어 있지 않습니다.추가의백업과 비교. 예를 들어 운영 체제를 새로 설치하면 초기 사용자가 동일한 이름(및 UID)으로 생성되고 업그레이드 중에 운영 체제에 다른 서비스가 추가되지 않습니다. 이는 데비안 안정 릴리스에서는 사실일 수 있지만 롤링 릴리스에서는 확실히 신뢰할 수 없습니다.
  4. 가정: 설치 프로세스는 할당된 UID(패키지 설치 순서)에 따라 완전히 결정적입니다.그리고이는 저장소의 새로운 업데이트에 영향을 받지 않습니다. 나는 일반적으로 패키지 관리자가 결정적이라고 생각합니다. 마찬가지로, 데비안 안정 릴리스는 신뢰할 수 있지만 롤링 릴리스는 그렇지 않을 수 있으며, 둘 사이에는 불확실성의 영역이 있습니다. 업데이트 리포지토리에 액세스하지 않고 정확히 동일한 버전의 설치 프로그램을 실행하도록 예약할 수도 있습니다(둘 다 복구 중).그리고원래 시스템을 설치한 경우).
  5. 이미 백업 복구 도구가 설치되어 있어야 합니다. :)
  6. 다음 단계에서는 Linux용 기존 섀도우 비밀번호 파일도 가정합니다. BSD 시스템은 다른 파일 이름을 사용합니다. 일부 특수 목적의 Linux 시스템이 도입되었습니다.스타일이 확실히 다르네요.
  7. 에 정의된 비밀번호를 사용하지 않고도 일부 "복구 모드"로 부팅할 수 있는지, /etc그리고 백업에 액세스하기 위해 더 복잡한 것이 필요하지 않은지 확인하세요. 우리는 불장난을 하고 있습니다. 백업과 동일한 비밀번호를 사용하면 도움이 될 수 있지만 디스크 암호화가 이를 어떻게 처리할지 모르겠습니다. 별도의 Rescue에서 실행하는 경우 다음 단계가 작동하지 않습니다.체계".
  8. mv /etc/ /etc.installer # can be removed later
  9. mkdir /etc && chmod 755 /etc
  10. ID_FILES=passwd group shadow
  11. for i in $ID_FILES; do cp /etc.installer/${i} /etc; done
  12. i이제 의 모든 파일에 대해 백업에서 대상 시스템으로 복원 $ID_FILES할 수 있습니다 ./etc/${i}
  13. 이제 복원할 수 있습니다모두소유권 정보를 포함한 파일입니다.
  14. 이제 할 수 있다SELinux 라벨을 다시 적용하세요.또는 이에 상응하는 것(필요한 경우).

백업이 etckeeper 저장소이고 다른 파일이 없는 경우 12단계는 이를 복사/복제한 다음 /etc10 etckeeper init~12단계를 건너뛸 수 있습니다.

OpenWrt

OpenWrt 라우터는 시스템 구성 백업/복원을 지원하고 웹 인터페이스에서 특정 기능을 제공합니다.

내 OpenWrt 15.05.1 시스템에서 /etc파일(또는 다른 곳)을 소유한 사용자는 root및 입니다 nobody. OpenWrt를 새로 설치하면 이미 이러한 사용자가 포함되어 있다고 가정하는 것이 안전합니다.

추가 사용자가 추가된 OpenWrt 설정이 이 도구로 올바르게 처리될 수 있는지 모르겠습니다.

관련 정보