FreeBSD 上的一些用户名以下划线开头:
_dhcp:*:65:65:dhcp programs:/var/empty:/usr/sbin/nologin
但其他人则没有:
www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
这个下划线有什么意义呢?它纯粹是历史性的还是有实际目的?
更多的例子可以在 FreeBSD 中看到端口/UID文件。
答案1
可能不止一种情况,但您指出的情况已在邮件列表线程中讨论过ISC DHCP 服务器端口 UID/GID 问题2008 年,_dhcp
已知该用户是一个特殊帐户(具有与守护程序不同的权限):
I noticed that, but I believe that that is a privilege separation
account that is used with the OpenBSD-version of the dhclient. Also, as
I pointed out, if this is usable, then why isn't the isc-dhcp-server
port using it instead of allocating a UID/GID for itself during the install?
Erik
Florent Thoumie wrote:
> On Jan 18, 2008 12:01 PM, Erik Van Benschoten <evanben at valleycomnet.com> wrote:
>> Greetings,
>>
>> Is there a specific reason that the port of the ISC's DHCP server does
>> not seem to have/use a registered UID/GID?
>
> Maybe because there's already _dhcp user (uid 65) in base?
检查我的 FreeBSD 10 机器,我看到另一个帐户,这个帐户标记得足够清楚:
_pflogd:*:64:64:pflogd privsep user:/var/empty:/usr/sbin/nologin
进一步阅读:
- 权限分离的 OpenSSH
-
- 如果用户 _dhcp 不存在,则让 dhclient(8) 回退到用户 nobody。有助于升级。
- 有趣的是,新的 _dhcp 用户和组用于 DHCP 程序。
- 如果用户 _dhcp 不存在,则让 dhclient(8) 回退到用户 nobody。有助于升级。
“用户/组 _pflogd:_pflogd” _ 是什么?(freebsd-当前邮件列表,2004 年)
pf 未登录 5.3-BETA3?(freebsd-pf 邮件列表,2004 年)
好吧,你们读过《更新》吗? > 20040623: > pf 已更新至 OpenBSD-stable 3.5 并且 pflogd(8) 是特权 > 现在分开了。它使用新创建的“_pflogd”用户/组 > 组合。如果您计划使用 pflogd(8) 请确保运行 > mergemaster -p 或手动安装“_pflogd”用户和组。
答案2
它与 OpenBSD 约定相关,在《Absolute OpenBSD,第二版:实用偏执者的 Unix》(第 103 页)一书中提到:
_用户名
如果您查看 /etc/passwd,您会发现许多非特权用户的名称前都有下划线,例如 _syslogd 、 _ldapd 和 _dhcp 。
这是用于识别非特权用户的 OpenBSD 约定。大多数附加软件还使用以下划线开头的非特权用户名,例如 _mysql 和 _postgresql 。
然而,并非所有非特权用户名都以下划线开头。其中一些是 OpenBSD 出于兼容性原因保留的旧用户,例如 nobody 。其他人有悠久的历史或支持不灵活的软件,改变它们会带来更多的烦恼而不是其价值。
下划线的存在意味着用户没有特权。缺少下划线意味着什么;用户可能是普通用户,也可能没有特权。如果您创建自己的非特权用户,则不需要包含前导下划线,但这样做将有助于其他系统管理员了解用户的操作。