bin在 Linux 的整个生命周期中,并没有适当地用于任何事情。

bin在 Linux 的整个生命周期中,并没有适当地用于任何事情。

正如我在https://unix.stackexchange.com/a/484626/5132这值得有自己的问答。

在 Linux 操作系统上...

% 获取密码 bin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
%
...以及在 FreeBSD 上...

% 获取密码 bin
bin:*:3:7:二进制文件命令和来源:/:/usr/sbin/nologin
%
...以及在 OpenBSD 上...

$ getent passwd bin
bin:*:3:7:二进制命令和来源:/:/sbin/nologin
$
...今天仍然可以找到一个bin帐户。但这几乎没有记录。这Linux 标准库版本 5 只是说……

注意:bin包含用户 ID/组 ID 是为了与旧应用程序兼容。新应用程序不应再使用bin用户 ID/组 ID。
…没有解释兼容性机制的本质。 正如 Joey Hess 在 2001 年所说:

bin:

帮助:我的系统上没有文件属于用户或组bin。他们有什么好处?从历史上看,他们可能是二进制文件的所有者/bin? FHS、Debian 政策或 base-passwd 或 base-files 的变更日志中没有提及它。

M.赫斯的问题至今 Debian doco 中的 base-passwd 软件包仍未得到解答,17年后。

那么bin账户有什么用呢?

答案1

bin在 Linux 的整个生命周期中,并没有适当地用于任何事情。

就像运行级别和由于 中的记录而init产生一样,在 Linux 发明之前,该帐户在 Unix 世界中就已经过时了。这是 20 世纪 80 年代的一个想法,但随着 NFS(网络文件系统)及其用户的发明和采用而被打破。 2010 年代末,当商业 Unix 世界的人们在 90 年代积极停止使用它时,它继续存在于用户帐户数据库中,这证明了惰性。getty/etc/inittabbinnobody

这个想法是bin用户拥有各种目录,例如/bin/usr/bin(实际上还有一些在https://unix.stackexchange.com/a/448799/5132例如/usr/mbin/usr/5bin) 以及其中的非 set-UID/non-set-GID 文件。它还拥有 doco 文件和目录,例如手册页。

(在更极端的情况下,它甚至在某些 Unices 上拥有//etc,尽管后者是创建 SunOS 操作系统映像时公认的错误。前者只是愚蠢的。)

因此,以 user 身份运行的执行软件更新的权限bin并不是以超级用户身份运行的对系统执行任何操作的一揽子权限。软件升级程序无法读取/写入私人用户文件、访问邮箱等;作为超级用户当然可以更新软件。

文件中的其他几个特殊帐户条目/etc/passwd必须有密码。这些是管理帐户 - bindaemonsysuucplpadm。 [...]这些帐户存在的主要原因是命令、脚本、文件和设备的安全所有权。一些管理员为这些帐户安装密码并实际使用它们。 [...]无密码bin帐户对于系统破坏者来说非常有用。
——丽贝卡·托马斯和里克·法罗 (1989)。System V 的 UNIX 管理指南。普伦蒂斯·霍尔。 ISBN 9780139428890。p。 452.

NFS于20世纪80年代初发明,彻底打破了这种想法。

正如上述引文所暗示的那样,它已经摇摇欲坠了。这是因为更新超级用户理所当然执行的基本实用程序的程序映像文件的能力/bin/ls是获得超级用户权限的直接向量,而使用帐户时的访问划分bin只是意外地防止了这种情况修改错误的目录而不是阻止犯罪分子获得超级用户访问权限。

NFS 的出现凸显了这一点。尽管 NFS 具有将超级用户帐户重新映射到普通非系统用户帐户的机制,但对于非 root 帐户(如bin.因此,如果某人可以bin访问 NFS 客户端,那么他们就可以bin访问 NFS 服务器上的操作系统文件。事实上,它使 NFS 客户端上的超级用户(否则将被重新映射为服务器上的普通非系统用户)获得对服务器操作系统文件和目录的所有者访问权限。

这是 20 世纪 90 年代初的常识,当时公认的智慧是将超级用户chown拥有的东西bin改成超级用户拥有的东西,以堵塞这个漏洞,这个漏洞已经成为 Unix 安全审计工具中的标准报告项目,并受到警告。类似于 Sendmail 的安装 doco。

就 M. Hess 的问题而言,这个想法从未在 Debian 上被采用,Debian 是在 Unix 世界知道这是一个坏主意数年后才出现的,而 Unix 确实在 Linux 之前就知道这是一个坏主意本身被发明。 BSD 操作系统的历史追溯到 20 世纪 80 年代,早已废除了实际所有权,但仍将用户帐户保留在帐户数据库中。 FreeBSD于 1998 年将bin:bin所有权转换为root:所有权wheel, 例如。

进一步阅读

答案2

2018 年我使用 bin 有两种情况。 1:可执行文件 - 主要用于 Web 服务器端用于完成功能的 .exe 文件。 2:日志 - 有时我将 .log 或 .dat 文件放在 bin 文件夹中。

相关内容