רמי
SUBJECT: Почему sudo используют только (ч)удаки?
AUTHOR: Rami Rosenfeld
DATE: 22/01/22; upd.10/02/2023
TIME: 00.00
LANG: ru
LICENSE: CC BY-NC-ND 4.0.
TAGS: gnu, linux, software, opensource, security, privacy, system, su, sudo
Version 1.1.2
Вначале приведу несколько цитат из интернета, утверждающих обратное, мол sudo - это более новое, прогрессивное и безопасное средство администрирования! Логин и пароль root'a не используются в принципе, а значит - жизнь чудесна и замечательна!
Допустим, с русскоязычного сайта/форума техподдержки Ubuntu (раздел "Официальная документация"):
"Когда нужно работать под пользователем root?
Ответ - прост: НИКОГДА.
Более того, в дистрибутивах на основе Debain (к коим относится и Ubuntu) работа под пользователем root заблокирована - интерактивно залогиниться в консоль или GUI под ним нельзя".
... Увы, но кроме данного голословного и категоричного заявления администраторы форума не приводят никаких доказательств.
Еще одна цитата, почерпнутая с какого-то сайта, найденного наобум по ключевым словам "su" и "sudo", несколько проясняет "радости жизни" с sudo:
"Использование по умолчанию sudo вместо su имеет некоторые преимущества. Пользователям Ubuntu необходимо помнить только один пароль, в то время как пользователям Fedora и других дистрибутивов требуется создавать отдельные аккаунты для root и обычного пользователя, каждый со своим паролем".
Таким образом, мы видим, что за главное преимущество в работе выдается "удобство" исполнения административных и, следовательно - потенциально опасных функций. В системах, подобных Ubuntu и ее многочисленным форкам, практически любой пользователь, включая, конечно же, первого зарегистрированного в системе (при ее инсталляции), может с легкостью, используя свой собственный(!), а отнюдь не администраторский пароль, управлять ОС... Кто вообще решил, что такая ситуация нормальна?! Кто вообще решил, что ОДИН пароль на ВСЕ случаи - это нормально?! С точки зрения безопасности - это полный бред!
Примеры: OEM-продажи или массовая установка ОС на компьютеры в пределах какого-либо внутреннего подразделения (бухгалтерия, отдел кадров и т.п.). В таких случаях при инсталляции ОС на компьютерах традиционно создается одна(!) пользовательская учетная запись, и она неизбежно обладает администраторскими правами! ... Что может натворить некомпетентный человек, обладающий неограниченными правами, всецело зависит только от его фантазии!
Пример: Для нормальных и уважающих себя дистрибутивов GNU/Linux, ориентированных на безопасность, такая ситуация невозможна в принципе! Более того, даже при инсталляции система (такая, как RHEL, CentOS, Fedora и ее "спины") не даст назначить слабый, короткий или априорно уязвимый пароль.
Примеры: В Red Hat такая ситуация невозможна в принципе:
а) там существует полноценное шифрование всех разделов, включая "/", "/swap", "/home";
б) пароли root и первого "обычного" пользователя запрашиваются на этапе инсталляции ОС. И они, конечно же, различны;
в) сразу после исполнения GRUB дальнейшая загрузка ОС прекращается - до правильного введения ОТДЕЛЬНОГО пароля, расшифровывающего системный раздел и раздел подкачки. Обращаю особое внимание: этот пароль НЕ имеет никакого отношения к паролю root'a или к паролям непривилегированных пользователей;
г) после загрузки ОС пользователю предлагается ввести свой отдельный логин и пароль, не имеющие ни малейшего отношения к выполнению root-привилегий. Эта связка расшифровывает ТОЛЬКО пользовательский "домашний" каталог /username на отдельной партиции /home и предоставляет доступ ТОЛЬКО к нему;
д) при получении злоумышленниками физического доступа к компьютеру не сработает даже принудительный сброс пароля root'a сразу после запуска GRUB (да-да, такая возможность предусмотрена и документирована самими разработчиками!) ... Почему? Да потому что, даже если сбросить пароль root'a, при полнодисковом шифровании все вышеперечисленные разделы все равно окажутся зашифрованными старыми паролями - не зависящими от пароля root.
Подтверждение пункта "д" с официального сайта (раздел "Сброс администраторского пароля):
Encrypted partitions
Whichever GRUB version your system has, if you have an encrypted partition, you are prompted for the pass phrase before mounting the filesystems. If have more than one encrypted partition and they all share a global pass phrase, select the option for global pass phrase. Otherwise, enter the pass phrase separately for each partition.
sudo passwd root
gksu gedit /etc/lightdm/lightdm.conf
В конце файла допишите: greeter-show-manual-login=true
sudo service lightdm restart
http://help.ubuntu.ru/wiki/суперпользователь_в_ubuntu
И еще, "вредные советы" от них же (взгляните сами, какие дыры в безопасности!):
sudo -i переводит пользователя в сессию под root-ом. Это аналог команды su), за тем исключением, что пароль требуется пользователя, а не root-а. Выход из сессии - exit.
sudo -s переводит пользователя в сессию под root-ом, но при этом текущий каталог не меняется /root 2) а остается тем же что был до вызова команды. Выход из сессии - exit.
Кошмар!
Таким образом, активировав учетную запись root, любой злонамеренный пользователь может полностью перехватить на себя административные функции в многопользовательской среде - со всеми вытекающими последствиями. От пользователя, заполучившего полновесные права root'a, "isolates permission between multiple sudoers" НЕ спасет!
sudo без пароля — чудовищная дыра в безопасности, кому попало разрешено делать что угодно. Если вы разрешили это намеренно — срочно верните обратно как было. Однако, в некоторых случаях sudo внезапно перестаёт требовать пароль само по себе. Если сделать visudo, то можно увидеть примерно такую строку, которую пользователь вроде бы не добавлял:
ALL ALL=(ALL) NOPASSWD:ALL
Лично я - в полном ужасе! Даже и не знаю, как прокомментировать!
Так что ребята с рускозычного сайта поддержки Ubuntu явно неправильно истолковали давнее правило "НИКОГДА не РАБОТАЙ из-под рута!" (тут имеется в виду обыденная и повседневная пользовательская работа с прикладным ПО), вот почему придумали свое: "НИКОГДА НЕ ИСПОЛЬЗУЙ права рута!"
Надеюсь, что для всех вменяемых и трезвомыслящих людей они очевидны:
man su
ОБЯЗАТЕЛЬНО, СРАЗУ ЖЕ после установки системы, выполните следующее (если это не предложено в процессе инсталляции):
sudo passwd root
visudo
## Allows people in group wheel to run all commands # %wheel ALL=(ALL) ALL, !/usr/bin/passwd root # ALL ALL=(ALL) NOPASSWD:ALL
Удаление текущего (и иных) пользователей из группы wheel:
Предварительная проверка наличия пользователей в группе wheel:
cat /etc/group
(...)
wheel:x:10:user_name user_name1 user_name2
Удаление пользователя из группы:
gpasswd -d user_name wheel
© Rami Rosenfeld, 2022. CC BY-NC-ND 4.0.
text/gemini; lang=en
This content has been proxied by September (3851b).