데비안 패키지 파일 소유자에게 적합한 UID와 GID는 무엇입니까?

데비안 패키지 파일 소유자에게 적합한 UID와 GID는 무엇입니까?

나는 현재 내 자신의 적성 저장소를 구축하고 있으며 모든 패키지가 가능한 한 많은 Lintian 검사를 통과하는지 확인하는 과정에 있습니다. 현재 "잘못된 파일 소유자 -uid-or-gid" 문제로 어려움을 겪고 있습니다(초기 메시지여기, 더 자세한 정보여기), UID와 GID에 적절한 숫자가 무엇인지 잘 모르겠습니다.

현재 AWS Ubuntu 시스템에서 패키지를 구축하고 있습니다.

$ id ubuntu
uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),102(netdev)

이는 기계의 기본값입니다. 제공된 첫 번째 링크는 다음과 같습니다.

전역적으로 할당된 ID의 허용된 집합은 0-99, 64000-64999 및 65534 범위로 구성됩니다.

이러한 범위 중 두 번째 링크는 다음과 같이 설명합니다.

0-99: Debian 프로젝트에 의해 전역적으로 할당되며 모든 Debian 시스템에서 동일합니다. 이 ID는 모든 데비안 시스템의 passwd 및 그룹 파일에 나타나며, 이 범위의 새 ID는 base-passwd 패키지가 업데이트될 때 자동으로 추가됩니다.

정적으로 할당된 단일 uid 또는 gid가 필요한 패키지는 이들 중 하나를 사용해야 합니다. 관리자는 base-passwd 관리자에게 ID를 요청해야 합니다.

60000-64999: Debian 프로젝트에 의해 전역적으로 할당되지만 요청 시에만 생성됩니다. ID는 중앙에서 정적으로 할당되지만 실제 계정은 필요한 경우에만 사용자 시스템에 생성됩니다.

이러한 ID는 모호하거나 정적으로 할당된 ID가 많이 필요한 패키지에 적합합니다. 이러한 패키지는 필요한 경우 /etc/passwd 또는 /etc/group에서 계정을 확인하고 생성해야 합니다(이 기능을 사용할 수 있는 경우 adduser를 사용하십시오). 추가 할당이 필요할 수 있는 패키지는 할당 후에 "구멍"을 남겨서 성장할 수 있는 공간을 제공해야 합니다.

65534: 사용자가 없습니다. 해당 gid는 그룹 nogroup을 나타냅니다.

데비안 패키지에 대한 Lintian 검사를 준수하는 방법을 설명하는 데 도움을 줄 수 있는 사람이 있습니까? 사용자의 UID와 GID를 변경하는 것만 큼 간단합니까? 어떤 ID 번호를 선택하는 것이 가장 적합합니까?

답변1

특별히 다른 UID나 GID가 필요한 경우가 아니라면 가장 적합한 값은 각각 0과 0입니다. 패키지는 루트 또는 루트 권한이 있는 사람에 의해 설치됩니다. 일반적으로 파일을 다른 사용자나 그룹(예: 구성 파일)이 소유해야 하는 특별한 이유가 없는 한 여기에 포함된 파일은 루트가 소유해야 합니다. 내 생각엔 당신이 debian/rules달리고 있지 않은 것 같아요dh_fixperms:

dh_fixperms is a debhelper program that is responsible for setting the
permissions of files and directories in package build directories to a
sane state -- a state that complies with Debian policy.

dh_fixperms makes all files in usr/share/doc in the package build
directory (excluding files in the examples/ directory) be mode 644. It
also changes the permissions of all man pages to mode 644. It makes all
files be owned by root, and it removes group and other write permission
from all files.

관련 정보