Для чего нужен пользователь корзины?

27

Как я писал на /unix//a/484626/5132, это достойно отдельного вопроса и ответов.

В операционных системах Linux ...

% getent passwd bin
бен: х: 2: 2: бен: / бен: / USR / SBIN / NOLOGIN
%
... и во FreeBSD ...

% getent passwd bin
bin: *: 3: 7: Двоичные команды и источник: /: / usr / sbin / nologin
%
... и на OpenBSD ...

$ getent passwd bin
bin: *: 3: 7: Двоичные команды и источник: /: / sbin / nologin
$
... сегодня еще можно найти binаккаунт. Но это в значительной степени недокументировано. Версия Linux Standard Base 5 говорит просто ...

Примечания. Идентификатор binпользователя / идентификатор группы включен для совместимости с устаревшими приложениями. Новые приложения больше не должны использовать binидентификатор пользователя / идентификатор группы.
… Без объяснения природы механизма совместимости. Как сказал Джои Хесс еще в 2001 году :

bin:

СПРАВКА : В моей системе нет файлов, принадлежащих пользователю или группе bin. Чем они хороши? Исторически они были, вероятно, владельцами двоичных файлов в России /bin? Он не упоминается в FHS, политике Debian или журнале изменений base-passwd или base-files.

Вопрос г-на Гесса остается без ответа в документации Debian о пакете base-passwd по сей день , 17 лет спустя.

Так для чего нужен binсчет?

JdeBP
источник
Связанный вопрос - unix.stackexchange.com/questions/244989 .
JdeBP

Ответы:

34

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 году.

дальнейшее чтение

JdeBP
источник
1
Сегодня я видел файлы, принадлежащие binпользователю и группе в системах AIX. Возможно, что IBM использует это по причине. В голову приходит один набор файлов AIX java. Мне придется сесть на работающие системы AIX для дальнейшей проверки.
Пешке
В системе AIX до сих пор существует значительное количество файлов bin: bin. Центр знаний IBM для AIX 7.2 в разделе Безопасность - Защита базовой операционной системы - Пользователи, группы и пароли имеет связанную страницу, объясняющую назначение различных «Системных специальных учетных записей пользователей», в том числе bin.
Джефф Шаллер
По предыдущей ссылке, binэто не один из общих идентификаторов пользователей по умолчанию, которые вы можете удалить . Также: binввод пароля:bin:!:2:2::/bin:
Джефф Шаллер
-8

Существует 2 варианта использования, которые я использую bin для 2018. 1: исполняемый файл - в основном для файлов .exe на стороне веб-сервера, используемых для выполнения функций. И 2: журналы - иногда я помещаю свои файлы .log или .dat в папку bin.

jehovahsays
источник
3
Вы говорите о /binкаталоге? Или пользователь бина?
Sparhawk
6
Ты вообще на каком нибудь Unix? Вы говорите о .exeфайлах.
user2357112 поддерживает Monica
5
И зачем вы помещаете файлы журналов или файлы конфигурации в каталог bin?
Легкость гонок с Моникой