Для чого призначений користувач bin?


27

Як я писав на веб- сайті /unix//a/484626/5132, це гідно власного запитання.

На операційних системах Linux…

% кошик для пропускного коду
bin: x: 2: 2: bin: / bin: / usr / sbin / nologin
%
… І на FreeBSD…

% кошик для пропускного коду
bin: *: 3: 7: Команди бінарних файлів та джерело: /: / usr / sbin / nologin
%
… І на OpenBSD…

$ getent кошик passwd
bin: *: 3: 7: Команди бінарних файлів та джерело: /: / sbin / nologin
$
… Ще сьогодні можна знайти binакаунт. Але це майже недокументовано. Linux Standard Base версія 5 говорить тільки ...

Примітки. binІдентифікатор користувача / ідентифікатор групи включений для сумісності зі застарілими програмами. Нові програми більше не повинні використовувати binID користувача / ідентифікатор групи.
… Без пояснення природи механізму сумісності. Як Джої Хесс висловив це ще в 2001 році :

bin:

ДОПОМОГА : Жодні файли в моїй системі не належать користувачеві або групі bin. Які вони хороші? Історично вони, ймовірно, були власниками бінарних файлів у Росії /bin? Це не згадується в політиці FHS, Debian або в журналі змін змін base-passwd або base-файлів.

Питання М. Гесса залишається без відповіді в документі Debian щодо його пакету base-passwd до сьогодні , 17 років потому.

Отже, що таке binрахунок?


Питання, пов’язане з цим, є unix.stackexchange.com/questions/244989 .
JdeBP

Відповіді:


34

bin не було належним чином нічого протягом усього життя Linux.

Як і рівні запуску та initнерестування gettyчерез записи в /etc/inittab, binобліковий запис був застарілим у світі Unix ще до того, як Linux був навіть винайдений. Це була ідея 1980-х років, яка була порушена винаходом та прийняттям NFS (Network File System) та її nobodyкористувача. Постійна присутність у базах даних облікових записів користувачів наприкінці 2010-х, коли люди в комерційному світі Unix активно припиняли його використання у 90-х роках, є свідченням інерції.

Ідея полягала в тому , що binкористувач належить різні каталоги , такі як /binі /usr/bin(та й деякі з інших згаданих у /unix//a/448799/5132 , такі як /usr/mbinі /usr/5bin) і невстановленим-UID / не- файли set-GID всередині них. Також він мав файли та каталоги doco, такі як сторінки з інструкціями.

(У більш крайніх випадках у деяких Unices він навіть володів, /і /etcхоча останній був визнаною помилкою у створенні образу операційної системи SunOS. Перший був просто керованим.)

Таким чином, дозвіл на введення в дію оновлень програмного забезпечення, що працює як користувач bin, не був простим дозволом, що працює як суперпользователь, щоб робити якісь дії проти системи. Програміст програмного забезпечення не міг читати / записувати приватні файли користувачів, отримувати доступ до поштових скриньок тощо; котрий оновлення програмного забезпечення, як суперпользователь, звичайно, міг би.

У деяких інших записах спеціального облікового запису у вашому /etc/passwdфайлі повинні бути паролі. Ці адміністративні рахунки - bin, daemon, sys, uucp, lp, і adm. […] Основна причина існування цих облікових записів - захищене володіння командами, скриптами, файлами та пристроями. А деякі адміністратори встановлюють паролі для цих облікових записів і фактично їх використовують. […] binОбліковий запис без пароля надзвичайно корисний для системного вимикача.
- Ребекка Томас і Рік Фарроу (1989). Керівництво по адмініструванню UNIX для System V . Prentice Hall. ISBN 9780139428890. с. 452.

NFS був винайдений на початку 1980-х і повністю порушив цю ідею.

Це вже було на хиткій землі, як натякає нагадана цитата. Це було пов’язано з тим, що можливість оновлення файлів зображень програми для основних утиліт, які, як звичайно, виконав суперпользователь, /bin/lsнаприклад, є прямим вектором для отримання привілеїв суперпользователя, а поділ доступу у користуванні binобліковим записом просто запобігав випадково. модифікація неправильних каталогів, а не перешкоджання зловмисникові отримувати доступ суперпользователя.

Поява НФС підкреслила це. Хоча 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 році.

Подальше читання


1
Сьогодні я бачив файли, що належать binкористувачеві та групі в системах AIX. Цілком можливо, що IBM використовує це не просто так. Один набір файлів AIX, який спадає на думку, - це java. Мені доведеться скакати на AIX-системах на роботі, щоб перевірити далі.
Пешке

На сьогоднішній день у системі AIX існує значна кількість бін: файлів, що належать bin. Центр знань IBM для AIX 7.2 , у розділі Безпека - Захист базової операційної системи - Користувачі, групи та паролі, має пов’язану сторінку, що пояснює мету різних "Системних спеціальних облікових записів користувачів", у тому числі bin.
Джефф Шаллер

З попереднього посилання binце не один із загальних ідентифікаторів користувачів за замовчуванням, які ви, можливо, зможете видалити . Також: binвведення пароля:bin:!:2:2::/bin:
Jeff Schaller

-8

Є два випадки використання, які я використовую, у 2018 році. 1: виконувані файли - переважно для файлів .exe на веб-сервері, які використовуються для виконання функцій. І 2: журнали - іноді я поміщую свої .log або .dat файли у свою папку бін.


3
Ви говорите про /binкаталог? Або користувач bin?
Спархаук

6
Ви навіть на якомусь Unix? Ви говорите про .exeфайли.
user2357112 підтримує Моніку

5
І навіщо ви ставите логіни або конфігураційні файли в каталог «бін»?
Гонки легкості з Монікою
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.