关于系统用户和组

在整个 BLFS 中,许多包会安装以守护进程方式运行的程序,或者在某种程度上应分配有用户或组名称。通常这些名称用于映射系统使用的用户 ID(uid)或组 ID(gid)。通常这些应用程序使用的具体 uid 或 gid 编号并不重要。当然,例外的是 root 的 uid 和 gid 为 0(零),这确实是特殊的。uid 值存储在 /etc/passwd 中,gid 值在 /etc/group 中。

按照惯例,Unix 系统将用户和组分为两类:系统用户和普通用户。系统用户和组被赋予较小的编号,而普通用户和组的数值大于所有系统值。这些编号的界限在 /etc/login.defs 配置文件中的两个参数中定义。默认的 UID_MIN 值为 1000,默认的 GID_MIN 值为 1000。如果在使用 useradd 创建用户或使用 groupadd 创建组时未指定特定的 uid 或 gid 值,则分配的值将始终高于这些界限值。

此外,Linux 标准规范 建议系统 uid 和 gid 值应低于 100。

下表列出了 BLFS 中在基础 LFS 安装所定义值之外建议使用的 uid/gid 值。这些值可以根据需要更改,但提供了一组建议的一致值。

表 3.1. UID/GID 建议值

名称 uid gid
bin 1
lp 9
adm 16
atd 17 17
messagebus 18 18
lpadmin   19
named 20 20
gdm   21
fcron 22 22
systemd-journal 23 23
apache 25 25
smmsp 26 26
polkitd 27 27
rpc 28 28
exim 31 31
postfix 32 32
postdrop 33
sendmail 34
mail 34
vmailman 35 35
news 36 36
kdm 37 37
fetchmail 38
mariadb 40 40
postgres 41 41
dovecot 42 42
dovenull 43 43
ftp 45 45
proftpd 46 46
vsftpd 47 47
rsyncd 48 48
sshd 50 50
stunnel 51 51
dhcpcd 52 52
svn 56 56
svntest 57
git 58 58
games 60 60
kvm 61
wireshark 62
sddm 64 64
lightdm 65 65
scanner 70
colord 71 71
systemd-journal-gateway 73 73
systemd-journal-remote 74 74
systemd-journal-upload 75 75
systemd-network 76 76
systemd-resolve 77 77
systemd-timesync 78 78
systemd-coredump 79 79
uuidd 80 80
systemd-oom 81 81
ldap 83 83
avahi 84 84
avahi-autoipd 85 85
netdev 86
ntp 87 87
unbound 88 88
plugdev 90
wheel 97
anonymous 98
nobody 65534
nogroup 65534