Чому Debian встановлює оболонку входу для синхронізації користувача на / bin / sync?


14

syncє одним з облікових записів користувачів, створених самим Debian. Мені цікаво, чому Debian встановлює свою оболонку входу /bin/syncзамість /bin/false. Як Debian використовує цей обліковий запис користувача?

Відповіді:


24

Це задокументовано у /usr/share/doc/base-passwd/users-and-groups.txt.gz:

синхронізація

Оболонка користувача syncє /bin/sync. Таким чином, якщо його пароль встановлений на щось легко здогадатися (наприклад, ""), кожен може синхронізувати систему на консолі, навіть якщо у неї немає облікового запису в системі.

Це справді історичний артефакт, я не очікував, що syncкористувач буде створений таким чином сьогодні. У минулому було б корисно мати такого користувача, щоб люди, які мають фізичний доступ до консолі ( наприклад, в серверній кімнаті або лабораторії, повної робочих станцій, як ви знайдете в університетах), могли зменшити ризик втрати даних, коли вимкнення системи (для відновлення після шахрайського процесу або просто для використання робочої станції, якщо вона була заблокована попереднім користувачем). Системи Unix до Debian мали тенденцію мати syncкористувача та shutdownкористувача, з яким ви могли фактично вимкнути систему належним чином, не знаючи rootпароля. (На наших запчастинах Sun, ми просто STOPA boot...)

Як зауважив Пітер Кордес , варто зазначити, що в багатьох системах доступні інші механізми, що забезпечують безпечне відключення або перезавантаження з консолі, не маючи змоги перевірити автентифікацію як root: події ACPI, викликані натисканням перемикача живлення (які призводять до чистого відключення), або CtrlAltDel(що призводить до чистої перезавантаження). AltSysRqможе використовуватися в крайньому випадку для синхронізації, вбивства, відключення та перезавантаження, але це не є чистим перезавантаженням. Як згадував JdeBP , мати syncкористувача - це дуже стара ідея, що дається принаймні до початку 1980-х.


4
Від користувачів не очікується нічого робити. Адміністратори можуть налаштувати систему таким чином, якщо хочуть. Історичний контекст тут є актуальним: тоді, коли syncкористувач був доданий, комбінації Alt + SysRq не існували, а система Linux, швидше за все, був десь сервером або спільною системою в лабораторії, ніж ноутбук для одного користувача або на робочому столі. Було корисно надати спосіб людям з доступом до консолі безпечно підготувати систему до нечистого відключення, щоб вони могли перезавантажувати системи, не маючи кореневого доступу, зменшуючи при цьому ризик втрати даних.
Стівен Кітт

2
Варто зазначити, що замість shutdownоблікового запису встановлюються за замовчуванням деякі (багато?) Дистрибутиви Linux, встановлені таким чином, що ctrl + alt + f1 (щоб дістатися до текстової консолі у випадку, якщо в поточному VT працює графічний екран входу) через ctrl + alt + del тригери a shutdown -r nowабо еквівалент. Таким фізичним доступом = можливість запускати чисту перезавантаження навіть без SysRQ.
Пітер Кордес

1
@PeterCordes відзначають "Системи Unix перед Debian" - це до 1993 року ;-). Але так, у сучасних системах часто існують інші способи робити речі без використання syncабо shutdownкористувачів. (Щоб бути надзвичайно вибагливим, сьогодні багато дистрибутивів Linux мають DM на VT1. Деякі навіть не мають жодного тексту VT!)
Стівен Кітт

1
ще коли syncкористувача було додано ... Linux як ідея не існував. Ця конвенція принаймні бере початок 1980-х.
JdeBP

1
Ви повинні пам’ятати, що деякі з цих систем є ще за часів, перш ніж «особисті» комп'ютери. Такою синхронізацією може бути стрічка чи якісь інші жахливо повільні носії інформації, як маркери, маркери, дискети. У той же час ці системи були "крихкими", щоб силовий цикл міг їх пошкодити. Тож якщо ваш ІБП скаже 5 хвилин до виходу з ладу, ви вимкнетесь та пропустіть синхронізацію, щоб не зруйнувати багатомільйонну машину. Ці питання в основному вже не існують.
coteyr
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.