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 році.
Подальше читання