bin не было ни за что на протяжении всей жизни Linux.
Как и уровни запуска и initнереста gettyиз-за записей в /etc/inittab, binучетная запись устарела в мире Unix еще до изобретения Linux. Это была идея 1980-х годов, которая была нарушена изобретением и принятием NFS (сетевой файловой системы) и ее nobodyпользователем. Его постоянное присутствие в базах данных учетных записей пользователей в конце 2010-х, когда люди в коммерческом мире Unix активно прекратили его использование в 1990-х годах, является свидетельством инерции.
Идея заключалась в том, что binпользователю принадлежали различные каталоги, такие как /binи /usr/bin(и, действительно, некоторые из других, упомянутых на /unix//a/448799/5132, такие как /usr/mbinи /usr/5bin), и не-set-UID / non- файлы set-GID внутри них. Он также владел документами и каталогами, такими как справочные страницы.
(В более экстремальных случаях в некоторых Unices он даже принадлежал /и /etc, хотя последний был признанной ошибкой при создании образа операционной системы SunOS. Первый был просто тупым.)
Таким образом, разрешение на запуск обновлений программного обеспечения, выполняемое от имени пользователя bin, не было общим разрешением, выполняемым от имени суперпользователя, для выполнения каких-либо действий в отношении системы. Программа обновления программного обеспечения не может читать / записывать личные файлы пользователей, получать доступ к почтовым ящикам и т. Д .; который может обновлять программное обеспечение как суперпользователь.
Несколько других специальных учетных записей в вашем /etc/passwdфайле должны иметь пароли. Эти административные счета - bin, daemon, sys, uucp, lp, и adm. […] Основной причиной существования этих учетных записей является безопасное владение командами, сценариями, файлами и устройствами. И некоторые администраторы устанавливают пароли для этих учетных записей и фактически используют их. […] binУчетная запись без пароля чрезвычайно полезна для взломщика системы.
- Ребекка Томас и Рик Фэрроу (1989). Руководство по администрированию UNIX для System V . Прентис Холл. ISBN 9780139428890. с. 452.
NFS была изобретена в начале 1980-х годов и полностью разрушила эту идею.
Это было уже на шаткой почве, как упоминается в приведенной выше цитате. Это произошло потому, что возможность обновления файлов образов программы для основных утилит, которые суперпользователь выполнял как само собой разумеющееся, например, /bin/lsнапример, является прямым вектором для получения привилегий суперпользователя, а разделение доступа при использовании binучетной записи просто предотвращалось случайно изменение неправильных каталогов, а не помешало злоумышленнику получить доступ суперпользователя.
Появление NFS подчеркнуло это. Хотя в NFS был механизм для переназначения учетной записи суперпользователя на обычную несистемную учетную запись пользователя, она не была такой же для подобных учетных записей без полномочий root bin. Таким образом, если кто-то мог получить binдоступ к клиенту NFS, он предоставлял им binдоступ к файлам операционной системы на сервере NFS. Действительно, он позволил суперпользователю на клиенте NFS, который в противном случае был бы переназначен на обычного несистемного пользователя на сервере, чтобы получить доступ владельца к файлам и каталогам операционной системы сервера.
Это стало общеизвестным в начале 1990-х годов, и в то время было принято мудро относиться к chownтому, что принадлежало binвладельцу суперпользователя, чтобы закрыть эту дыру, которая уже стала стандартным элементом отчетности в инструментах аудита безопасности Unix и была предупреждена против в подобии установки doco для Sendmail.
Что касается вопросов М. Хесса, эта идея никогда не была принята в Debian, который появился только спустя годы после того, как стало известно, что это плохая идея в мире Unix, который действительно знал, что это плохая идея до самого Linux было изобретено. В BSD операционных систем, история которых делает растяжение назад в 1980 - е года , уже давно покончили с реальной собственностью, но , тем не менее сохраняют учетную запись в базе данных учетных записей. Например, FreeBSD преобразовал bin: binвладение в root: wheelвладение еще в 1998 году.
дальнейшее чтение
- Джонатан де Бойн Поллард (2015).
/etc/inittabэто вещь прошлого. , Часто задаваемые ответы.
- Джонатан де Бойн Поллард (2018). уровни запуска - это вещи прошлого. , Часто задаваемые ответы.
- Джонатан де Бойн Поллард (2018). Не ругайте никого за то, что управляете демонами. , Часто задаваемые ответы.
- Томас Бенджамин (1995-11-07). Tiger flags * bin * принадлежащие системные файлы, отключенные учетные записи . comp.sys.hp.hpux.
- Боб Прулкс (2002-09-15). Re: вопрос о записях / etc / passwd . linux.debian.user.
- Дуг Зиберт (1999-06-22). Re: файлы ОС, принадлежащие bin, а не root . comp.security.unix.
- Даг Сиберт (1998-06-01). Re: AIX: "/" принадлежит bin.bin . umn.local-lists.security.
- Тео де Радт (1999-06-22). Re: файлы ОС, принадлежащие bin, а не root . comp.security.unix.
- ген (1994-09-08). Почему бин не должен иметь каталог . comp.security.unix.
- Брэд Пауэлл (1993-08-12). Re: корневой каталог 'bin bin'? , comp.security.unix.
- Марио Волчко (1991-09-13). Re: Что ломается, если / etc не принадлежит bin? , alt.security.