- План администратора Linux A немного более ограничен и заставляет задуматься о том, какие команды и файлы требуют такого доступа. Результатом будет набор разрешенных команд и документации, которые имеют строки конфигурации в вашем файле sudoers. Эти строки конфигурации по сути являются документацией.
- Преимущества такого подхода: принцип наименьших привилегий предполагает, что минимизация таких разрешений лучше. Кроме того, у вас есть более подробная документация, в конце концов. Эти вещи могут быть лучше, и считается полезным для безопасности.
- План администратора Linux B проще. Если вы не боитесь последствий запуска «sudo -u nologinuser sh», то, возможно, не стоит опасаться проблем с безопасностью.
- Преимущества такого подхода. Упростить аудит проще и легче понять. Эти вещи могут быть лучше, и считается полезным для безопасности.
Основным существенным недостатком плана Linux A администратора является то, что он потребует больше времени / усилий, особенно для настройки. Если вы не знаете точных деталей, то вам нужно будет выяснить такие детали, что может занять немного больше времени / усилий или смехотворно неоправданного количества времени / усилий. Вы можете решить, что такие затраты не стоят выгоды.
В заключение: обе перспективы имеют свои достоинства. То, что вы цените больше, будет зависеть от того, кто отвечает (что звучит так, как будто вы). В таких случаях индивидуальные решения в таких сценариях являются основной причиной, по которой заслуживающие доверия люди оказываются в положении принятия таких решений. (Эти типы сценариев также могут быть причиной того, что опытным программистам в этом мире еще не удалось автоматизировать больше процессов проектирования, чем они.) Итак, вы должны принять решение (и быть готовым взять на себя ответственность за то, кем вы являетесь ответственный за).
Так как вы спросили о третьем варианте, вот один: вы используете пользовательский веб-сайт, в который вы входите через HTTPS, а затем автоматизируете обновления только нужных файлов или запускаете только нужные приложения, а не вам вручную нужно запускать «sudo» (или вариант sudoedit) в командной строке. Это также может быть достаточно безопасно, если все сделано правильно.
Поскольку этот вопрос касается безопасности более высокого уровня, а не того, с чем ежедневно сталкиваются многие обычные конечные пользователи, такие вопросы могут больше подходить для ServerFault.com (или, возможно, Information Security ), а не для SuperUser.com. Хотя, поскольку обе точки зрения имеют свои достоинства, не существует абсолютно правильной или неправильной точки зрения, которая в итоге делает их более основанными на мнениях, и не лучшим вариантом для любого из этих сайтов.