RPM 설치 중 사용자/그룹 생성을 위한 권장 절차

RPM 설치 중 사용자/그룹 생성을 위한 권장 절차

RPM 모범 사례 가이드를 부지런히 검색한 후 아무것도 찾지 못한 후 놀랍게도 커뮤니티에 눈을 돌렸습니다.

설치 후에 일부 사용자와 그룹이 존재하는지, 이러한 사용자가 해당 그룹의 구성원인지 확인해야 합니다. 이에 대해 권장되는 절차가 있습니까?

기존 rpm 사양에서는 %pre 스크립트를 사용하여 추가하기 전에 필수 사용자 및 그룹이 제거된 것을 볼 수 있습니다 useradd. 나는 이것이 일반적인 관행이라고 들었습니다. 왜 이런거야? 테스트 사용자가 있는 것보다 낫습니까 id -u?

일부 고객은 사용자를 직접 관리하기를 원할 수 있으므로 rpm을 실행하기 전에 사용자를 생성합니다. 즉, 가장 좋은 접근 방식은 사용자가 존재하는지 테스트하고 존재하지 않으면 생성하는 것입니다. 이에 대한 의견이 있으십니까? 감사해요.

편집하다:RHEL 5.7

답변1

Fedora 프로젝트에는 모범 사례 목록이 있습니다..

useradd기본적으로 패키지에 특정 그룹이 필요한 경우 사용자/그룹 관리는 rpm 설치 스크립트를 사용하여 처리해야 하거나 필요한 사용자 또는 그룹이 이미 존재하는지 확인하는 데 groupadd사용해야 한다는 아이디어입니다 . getent이를 통해 관리자는 예를 들어 패키지로 관리할 수 있는 LDAP와 같은 디렉터리 서비스를 통해 시스템 사용자/그룹을 관리할 수 있는 유연성을 얻을 수 있습니다. 반면, 배포판에서는 사용자/그룹이 패키지에 의해 설치되고 로컬 관리자에 의해 관리되지 않는 경우 UID 및 GID가 패키지에 의해 생성될 사용자 및 그룹에 미리 할당되어야 합니다. 플랫폼의 모든 시스템에서 동일하게 실행됩니다.

답변2

나는 이것이 오래된 질문이라는 것을 알고 있지만 rpm 사양 파일에서 그룹을 만드는 방법을 찾으려고 여기에 왔습니다. 다음 내용이 도움이 되기를 바랍니다.

그룹이 존재하는지 확인하고 어떤 사용자가 그룹에 속하는지 확인하려면 다음을 사용하세요.

getent group root

예를 들어 "root" 그룹의 경우입니다.

또한 rpm 사양 파일에 그룹을 추가하는 표준 방법으로 다음이 도움이 된다는 것을 알았습니다.rpm에서 사용자 및 그룹 생성

[rpm 사양 파일]의 %pre 섹션에서 필요한 사용자/그룹을 올바른 방식으로 생성했는지 확인하십시오(RHEL 패키지가 이를 수행하는 방법에 대한 예는 "rpm -q --scripts ..." 참조). "시스템 사용자"(uid < 500 등)를 사용할 수도 있고 사용하지 않을 수도 있습니다.

rtkit 예제를 보았습니다.

rpm -q --scripts rtkit-0.11-10.fc21.x86_64

preinstall scriptlet (using /bin/sh):
getent group rtkit >/dev/null 2>&1 || groupadd -r -g 172 rtkit

관련 정보