Почему Debian устанавливает оболочку входа пользователя sync в / 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 SPARC мы просто STOPA boot...)

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


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

2
Стоит отметить, что вместо того, чтобы иметь shutdownучетную запись, по умолчанию устанавливаются некоторые (многие?) Дистрибутивы Linux так, что следуют комбинации клавиш ctrl + alt + f1 (чтобы перейти к текстовой консоли в случае, если текущий VT запускает графический экран входа в систему) по Ctrl + Alt + Del запускает shutdown -r nowили эквивалентный. Таким образом, физический доступ = возможность запуска чистой перезагрузки, даже без SysRQ.
Питер Кордес

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

1
назад, когда syncпользователь был добавлен ... Linux как идея не существует. Это соглашение восходит к началу 1980-х, по крайней мере.
JdeBP

1
Вы должны помнить, что некоторые из этих систем относятся ко времени, предшествующему «персональным» компьютерам. В качестве такой синхронизации может использоваться магнитная лента или другие ужасно медленно работающие носители, такие как Token Ring, дискеты. В то же время эти системы были достаточно хрупкими, чтобы цикл питания мог повредить их. Так что, если ваш ИБП говорит о 5 минутах до сбоя, вы выключаете и пропускаете синхронизацию, чтобы не испортить многомиллионную машину. Эти проблемы в основном больше не существуют.
Котейр
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.