`/etc/group-`의 목적은 무엇입니까

`/etc/group-`의 목적은 무엇입니까

표준 Linux 배포판(예: Ubuntu)에는 일반적으로 /etc/group및 가 있으며 /etc/group-, 두 번째는 루트에서만 읽을 수 있습니다.

man group설명만 /etc/group.

그래서 내 질문은: 어떤 목적으로 /etc/group-?

답변1

이는 파일의 이전 복사본, 즉 마지막 변경 전 파일 버전의 백업입니다. 매우 중요한 문서이기 때문에 보관했습니다. 삭제할 수 있지만 백업은 "좋은 것"입니다.

쉽게 확인하실 수 있습니다. 노력하다

# groupadd test
# diff /etc/group /etc/group-

같은 방식으로 백업되는 다른 파일도 있습니다. /etc/passwd- /etc/shadow-.

모든 사용자 및 그룹 관리 유틸리티(예: useradd, usermod, userdel, groupmod, groupdel등)는 성공적인 명령 실행 시 이러한 백업 파일을 생성/업데이트합니다.

답변2

나는 이것이 "백업 파일"이라는 @Sachin Divekar의 답변에 동의하지만 파일을 만드는 방법과 권한을 설정하는 방법에 대한 자세한 정보가 필요합니다. CentOS6에서 usermod그룹 멤버십 변경을 실행하면 원래 질문에 명시된 "루트로만 읽기" 대신 권한 0644로 /etc/group-을 (재)생성하는 것입니다.

usermod(및 @Sachin Divekar가 언급한 다른 모든 사용자/그룹 관리 유틸리티)는 Shadow-utils 패키지의 일부이며(shadow-4.1.5.1의 소스 코드를 찾았습니다) commonio #create_backup에서 찾은 소스 코드를 파헤친 후 method.c(참조github.com)은 모든 사용자/그룹 유틸리티에서 사용됩니다. 백업 파일은 소스 파일의 이름을 따서 명명되고 "-" 접미사가 붙습니다(이 예에서는 '/etc/group-'). 백업 파일의 권한은 0664로 표시된 소스 파일의 권한으로 설정됩니다.

이는 /etc/group이 chmod 0644일 때 로컬 그룹 멤버십을 실행 gpasswd하거나 usermod수정한 후 /etc/group이 아직 존재하지 않는 경우 파일이 생성되고 0644로 chmodd되는 이유를 설명합니다.

관련 정보