Не root’ом единым…
Большинство новых пользователей системы Linux пришли из мира Windows, в котором для них было в порядке вещей работать под учетной записью администратора. Сменив операционную систему (ОС), они пытаются перенести свои старые привычки из Windows в Linux. Мы попытаемся объяснить: почему нельзя работать в ОС Linux под администраторской учетной записью. Кстати, под ней же не рекомендуется работать и в Windows.
Система прав доступа — это не желание разработчиков ограничить пользователя, а основной способ защиты данных и системных настроек. В отличие от операционок, выпускаемых компанией Microsoft, работа под ограниченной учетной записью не доставляет никаких неудобств пользователю.
Администратор в ОС семейства *nix носит имя root. Root — это царь и бог вашей системы. Для него нет абсолютно никаких преград. Но большая власть налагает и большую ответственность. Как бы ни хотелось работать под root — ни в коем случае не стоит этого делать.
Понятно, что настраивая систему сразу после установки, вы не сможете обойтись без повышения прав пользователя, под которым работаете. Только root’у подвластна установка драйверов, настройка сети и межсетевого экрана, конфигурирование X-сервера и многие другие операции в системе. Однако следует учесть, что единственная ошибка в команде, выполненная под рутом, способна привести к самым печальным последствиям.
Лучшим доказательством, на мой взгляд, является знаменитый «однострочник на Perl», команда, будучи выполненной в консоли под root, стирала все содержимое вашего жесткого диска.
В повседневной работе пользователю Linux администраторские привилегии абсолютно не нужны. В случае же, когда возникает необходимость запуска приложения с повышенными правами, следует использовать специальные команды (su и sudo), позволяющие на время получить права администратора.
Стоит заметить, что root — обычная учетная запись пользователя. Ее особенность заключается только в уникальном идентификаторе (UID), который, в данном случае, равен 0. Идентификаторы 1-499 зарезервированы под различными службами и сервисами, а 500 и далее — предназначаются обычным пользователям системы. Для большей безопасности рекомендуем создать пользователя с произвольно выбранным именем и присвоить ему UID 0. В таком случае, даже если злоумышленник проникнет в вашу систему и узнает пароль пользователя root, он не сможет ей навредить, поскольку root будет простым пользователем.
С момента своего зарождения ОС семейства *nix подразумевали работу на компьютере нескольких пользователей. Вначале компьютер был мейнфремом с несколькими консолями (экраном и клавиатурой), с которым одновременно могли работать до десятка операторов; сегодня компьютер — это устройство, которым может пользоваться целая семья. И тогда, и теперь перед ОС стоит задача ограничения доступа пользователя к файлам, которые им не принадлежат. Согласитесь, вряд ли вам будет приятно, если ваш годовой отчет случайно удалит сын, которому нужно было место под новую игрушку.
В UNIX/Linux/*BSD эта проблема была решена с помощью атрибутов файлов.
Выделяются следующие типы атрибутов:
- UID — числовое обозначение пользователя, являющего владельцем файла. Заменяется именем пользователя, взятым из /etc/passwd;
- GID — числовое обозначение группы, которая является владельцем файла. Имя группы система получает из /etc/groups.
- SUID (SGID) — атрибуты, позволяющие запустить файлы от имени владельца/группы.
- права доступа на чтение (r), запись (w) и выполнение (x) для владельца, группы и все остальных. Права определяют, какие операции с файлом может производить его владелец, член группы владельца и остальные пользователи. Обозначается тремя группами атрибутов.
Так, права доступа rwxrwxrwx обозначают, что любой пользователь обладает всеми правами на файл, а права rwx-rw-r– означают, что владелец может читать, изменять и выполнять файл, членам его группы доступно чтение и изменение, а все остальные могут только читать файл.
При обращении к тому или иному файлу ОС считывает UID/GID пользователя и сравнивает его с UID/GID файла. Соответственно, если права пользователя достаточны, система разрешает ему доступ. Идентификатор администратора системы (root) равен нулю, а это значит, что он может сделать с любым файлом в системе все что угодно. То же самое происходит с процессами, запускаемыми в системе: будучи запущенным из-под обычного пользователя процесс ограничен в правах, напротив — из-под root’a способен сделать все.
Итак, перечислим основные опасности при работе под суперпользовательским (администраторским аккаунтом):
- ошибка юзера. Опечатка в команде с правами пользователя. максимум, станет бедой для этого конкретного пользователя. Ошибка root’a, возможно, будет стоить жизни всей системе.
- ошибки и бреши в программном обеспечении. Ошибки в программах находят постоянно, что ничуть не удивительно, поскольку ПО пишется людьми, а человеку свойственно ошибаться. Нередки ошибки, приводящие к уязвимости ОС, открывающие доступ злоумышленникам. Такие уязвимости могут позволить преступникам украсть ваши секретные сертификаты и пароли. А браузер, запущенный администратором, способен дать доступ ко всей системе.
Не забывайте своевременно обновлять установленное на вашем компьютере ПО и регулярно менять пароли всех пользователей системы.
Если уж вам позарез нужны права администратора, имеет смысл воспользоваться специальными командами su или sudo. su позволяет запустить сеанс оболочки от имени другого пользователя. Введенная без аргументов, она требует пароля root, после чего запускает сеанс суперпользователя. sudo позволяет запускать программы с установленным на них атрибутом SUID/SGID, если данное действие позволено в файле /etc/sudoers. Команда требует ввода пароля текущего пользователя.
Графический логин под root запрещен в большинстве современных дистрибутивов. И это правильно, ведь зная команды su и sudo, вы в состоянии сделать все необходимое.





Добавить комментарий
Вы должны войти