저는 여러 Linux 서버에 존재하는 기존 그룹 이름에 정적 그룹 ID(gid)를 재할당하는 임무를 맡았습니다.
예를 들어, 그룹 이름은 foo
현재 여러 서버에 존재하지만 GID는 다릅니다.
$ ssh server-1
$ getent group foo
foo:x:998:user1,user2
$ ssh server-2
$ getent group foo
foo:x:999:user2,user3
foo
...위의 내용을 고려하여 저는 server-1과 server-2의 그룹 이름에 고유한 새 gid를 할당하는 임무를 맡았습니다 .
기존 GID 변경을 설명하는 다음 기사를 찾았습니다.
- https://www.thegeekdiary.com/how-to-Corrightly-change-the-uid-and-gid-of-a-user-group-in-linux/
- 특정 그룹의 GID 변경
질문: 새 GID로 사용할 "안전한" 번호를 결정하는 방법은 무엇입니까?
예를 들어, 내가 선택한 새 gid가 이 변경 사항을 적용해야 하는 PC에서 아직 사용되지 않는지 확인하는 깨끗하고 효율적이며 올바른 방법은 무엇입니까?
또한 좋고/사용 가능하고/안전한 GID를 선택할 때 다른 요소/고려사항이 있는지 알려주시기 바랍니다.
답변1
/etc/login.defs
참고용으로 RHEL 7.9 시스템에서 얻은 내용입니다.
# Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 600000
# System accounts
SYS_UID_MIN 201
SYS_UID_MAX 999
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 1000
GID_MAX 60000
# System accounts
SYS_GID_MIN 201
SYS_GID_MAX 999
그룹의 경우 앞서 언급한 규칙은 일반적으로 1,000개를 초과합니다. 하지만 본인이나 누구든지 맞춤 설정할 수 있으니 주의해서 참고하세요/etc/login.defs
유사하거나 clamav
생성 intel oneapi
되는 소프트웨어 설치체계나는 SYS_GID_MAX로 그룹화하고 시작하여 거꾸로 작업한다고 믿습니다.
관리자로서 제가 개인적으로 선호하는 것은 관리 관련 작업에 1000-2000 사이의 그룹 ID를 사용하고, 다양한 다른 사용자 유형에 대한 그룹 작업에 2000 이상의 그룹 ID를 사용하는 것입니다.
어느진짜보안 GID는
GID_MIN
과GID_MAX
범위 사이에 있습니다.SYS_GID_MIN
여전히 상대적으로 안전한 범위입니다SYS_GID_MAX
.기술적으로 모든 보안 GID는 위에서 사용되지 않은 번호입니다
SYS_GID_MIN
.100 미만의 항목은 선택하지 않고
SYS_GID_MIN
100 미만의 항목도 선택하지 않습니다.
답변2
이것이 일회성이라면 프로세스를 최적화하는 데 많은 시간을 소비하지 않을 것입니다. 가장 먼저 고려해야 할 점은 1000보다 큰 gid를 선택한다는 것입니다. 보세요예약된안내를 위한 GID입니다. 다시 말하지만, 일회성으로 다음과 같은 것을 실행합니다.
for host in (server1, server2, ..., serverx)
do
ssh $host grep 1000 /etc/group
done
이들 중 하나 grep
라도 반환되면 gid를 늘리고 다시 시도하십시오. 실제로 확인할 서버 수가 많거나 할당된 그룹이 있는 경우 gid 증가를 반복하여 종료 상태를 확인할 수 있습니다. 루프를 최적화하거나 수동으로 실행하는 데 시간을 소비할지 여부를 선택할 수 있습니다.