Права суперпользователя root в Linux: полный обзор

В дистрибутивах Linux пользовательские привилегии предоставляются путем открытия доступа к root. Наличие таких прав позволяет использовать функциональность операционной системы более широко и выполнять необходимые действия в корневом каталоге.
Предназначение root-прав в Linux
Права обычного пользователя в Linux крайне ограничены. Он может управлять только своим каталогом и открывать для чтения определенные файлы из корня. Доступ для их изменения или установки программ отсутствует, что делает привилегии суперпользователя крайне важными при настройке ОС и решении разных проблем. Обычный пользователь ограничивается следующим набором прав:
При наличии рут-прав у юзера появляется гораздо больше возможностей и расширяются границы взаимодействия с операционной системой. Становятся доступными любые действия со всеми папками и файлами.
Безопасность использования прав суперпользователя
Если с предназначением root-прав в Linux все понятно, то вот к безопасности их использования есть вопросы. В основном, относится это к серверным машинам, поскольку риск взлома домашнего компьютера очень мал, да и кому нужны файлы обычного пользователя, чтобы ради этого затевать процедуру взлома. Если вы используете Linux как обычную операционную систему, работаете с документами и стандартными программами, используйте root для установки приложений и защиты системы от случайных изменений, которые могут внести другие пользователи компьютера.
С серверной частью все гораздо сложнее, поскольку рут как таковой не предоставляет полной защиты. Часто используемые пароли взламываются путем перебора или поиском бэкдора. Поэтому не стоит полагаться исключительно на защиту паролем, если вы владеете файлами сайтов или используете сервер для других целей. Займитесь настройкой файрвола, если это повысит уровень защиты.
Команда sudo и примеры ее использования
Команда sudo тесно связана с root в Linux, поскольку отвечает за передачу прав суперпользователя и позволяет от его имени выполнять команды в Терминале. Существует несколько ее вариаций, использующихся при разных обстоятельствах. Подходит эта команда как для выполнения всего одного действия, так и для передачи прав на всю текущую сессию.

Самый простой пример использования sudo – запуск программы от имени суперпользователя. Для этого вводится:
Еще sudo применяется для установки софта, команда в таком случае обретает вид:

Переключение на суперпользователя
Вы уже сами решайте, какой вариант хотите использовать, и готовы ли смириться со всеми ограничениями и недостатками, которые накладывает каждый из них.
Предоставление и отзыв прав суперпользователя
Каждому пользователю в Linux можно предоставить root-права, добавив его в соответствующую группу. Точно так же их можно и отнять, если вдруг это понадобится. Рассмотрю три варианта действий.
Создание нового пользователя с root
Допустим, что вы, единственный юзер в Linux, хотите создать еще одну учетную запись с правами суперпользователя. В таком случае алгоритм действий обретет следующий вид:

Для существующей учетной записи
Если учетная запись уже добавлена, в консоли остается ввести только одну команду, чтобы добавить пользователя в группу sudo и разрешить ему получение рут-прав. Сама команда представлена ниже, вам остается только скопировать ее и поменять имя юзера.

Используйте предыдущую инструкцию для проверки внесенных изменений.
Откат прав суперпользователя
Если вдруг вы решили, что одна из учетных записей больше не должна состоять в группе sudo, отзовите права, введя команду:
Измените user на необходимое имя. Можете переключиться на эту учетную запись и убедиться в том, что теперь команды с sudo она выполнять не может.

Это была вся основная информация о правах суперпользователя в Linux. Вы знаете, что дают такие привилегии, как их правильно использовать и управлять пользователями. В качестве рекомендации скажу, что всегда нужно читать текст ошибок, появляющихся в Терминале, если что-то пошло не так. Это позволит вам быстрее решить проблему без траты времени на поиски в Google.
Как создать пользователя Linux
Основу управления правами доступа в Linux и уровнем привилегий в Linux составляют именно пользователи. Изначально, еще при проектировании системы существовал пользователь root, которому позволено выполнять любые действия и другие пользователи, права которых настраиваются с помощью вступления их в группы Linux и установки прав на каталоги.
Многопользовательская архитектура, одна из первых особенностей Linux, которая существует еще с зарождения системы. В системе могут работать одновременно множество пользователей благодаря удаленному входу, а также пользователи используются для запуска определенных сервисов. В этой статье мы рассмотрим как создать пользователя linux, рассмотрим способ через терминал и в графическом интерфейсе.
Создание пользователя в Linux
Вся информация о пользователях находится в файле /etc/passwd. Мы могли бы создать пользователя linux просто добавив его туда, но так делать не следует, поскольку для этой задачи существуют специальные утилиты. Одна из таких утилит, это useradd. Рассмотрим ее подробнее.
Команда useradd
Это довольно простая команда, которая есть во всех дистрибутивах Linux. Она позволяет зарегистрировать нового пользователя или изменить информацию об уже имеющемся. Во время создания можно даже создать домашний каталог пользователя и скопировать в него системные файлы. Рассмотрим синтаксис команды:
$ useradd опции имя_пользователя
Все довольно просто, дальше нам нужно рассмотреть основные опции команды, с помощью которых вы будете настраивать нового пользователя:
Теперь, когда вы знаете основные необходимые нам параметры утилиты мы можем перейти к разбору того, как выполняется создание нового пользователя linux. Сначала давайте посмотрим какие параметры будут применены для пользователя по умолчанию:

Как видите, по умолчанию домашний каталог пользователя будет создан в /home и будет использоваться оболочка /bin/sh. Теперь создадим минимального пользователя с минимальными настройками:

Был создан самый простой пользователь, без оболочки и пароля, а также без групп. Теперь немного усложним задачу и создадим пользователя с паролем и оболочкой /bin/bash:
Также, можно установить дату, когда аккаунт пользователя будет отключен автоматически, это может быть полезно для пользователей, которые будут работать временно:
Некоторых пользователей интересует создание пользователя с правами root linux, это очень просто делается с помощью useradd, если комбинировать правильные опции. Нам всего лишь нужно разрешить создавать пользователя с неуникальным uid, установить идентификатор в 0 и идентификатор основной группы тоже в 0. Команда будет выглядеть вот так:
Пожалуй, это все основные примеры как добавить пользователя linux. Дальше нам осталось взглянуть только на работу в графическом интерфейсе.
Создание нового пользователя linux в GUI
В графическом интерфейсе системы создать нового пользователя linux еще проще. Рассмотрим окружение Gnome, хотя и в KDE тоже есть аналогичная функция. Войдите в главное меню и откройте параметры системы:

Затем откройте «Пользователи»:

Поскольку утилита запущена от имени обычного пользователя вы ничего не можете сделать. Поэтому нажмите кнопку «Разблокировать»:

Только после этого используйте кнопку со знаком плюс для создания нового пользователя Linux:


После этого создание пользователя linux завершено, новый пользователь появится в списке.
Выводы
В этой статье мы рассмотрели как создать пользователя linux с помощью терминала или в графическом интерфейсе системы. Оба способа имеют свои преимущества. Например, способ в терминале намного гибче, но в то же время графический способ дает больше контроля над процессом. Если у вас остались вопросы, спрашивайте в комментариях!
Создание пользователя в Linux. Команды adduser и useradd

Для создания пользователей в Linux можно использовать графические утилиты, предоставляемые дистрибутивом, или воспользоваться командной строкой.
Для создания пользователей из командной строки обычно используют утилиты adduser или useradd. Рассмотрим, использование данных утилит.
В чем отличия adduser и useradd?
useradd — это низкоуровневая утилита для создания пользователей в Linux.
adduser — представляет собой более простое решение для создания пользователей и по факту является надстройкой над useradd, groupadd и usermod.
Утилита adduser доступна не во всех дистрибутивах Linux. Реализация adduser также может отличаться. Если в дистрибутиве присутствует утилита adduser, то для создания пользователей рекомендуется использовать именно ее.
Команда adduser
Создание пользователя командой adduser
Рассмотрим, как создать обычного пользователя командой adduser
Чтобы создать нового пользователя, выполняем команду adduser и указываем имя пользователя (вместо pupkin укажите имя пользователя, которого вы создаете):

В результате выполнения команды adduser будут выполнены следующие действия:
В данной директории хранятся файлы, которые копируются в домашний каталог всех новых пользователей.
Команда useradd
Синтаксис команды useradd
Команда useradd принимает в качестве аргумента имя пользователя, а также различные опции.
Синтаксис команды следующий:
Создание нового пользователя
Чтобы просто создать пользователя используется команда useradd без каких-либо опций. Указывается только имя пользователя.
Данная команда создает нового пользователя с системными параметрами по умолчанию, которые прописаны в файле /etc/default/useradd
Чтобы пользователь мог войти в систему, необходимо задать для него пароль. Для этого используем команду:
Создание нового пользователя с домашней директорией в /home
Создадим пользователя и его домашнюю директорию.
Создание нового пользователя с произвольной домашней директорией
Создаем домашнюю директорию для будущего пользователя:
Копируем файлы и директории, которые по умолчанию создаются в домашней директории пользователя в данной системе. Данные файлы находятся в директории /etc/skel
Создаем пользователя и указываем домашнюю директорию:
Меняем права доступа у домашней директории:
Задаем пароль для пользователя:
Можно просмотреть информацию о пользователе, которая сохранена в файле /etc/passwd

Создание нового пользователя с произвольными UID, GID
Каждый пользователь в Linux имеет свой числовой идентификатор — UID, а также идентификатор основной группы пользователя — GID.
При создании пользователя можно задать произвольные номера UID и/или GID. При указании номера группы, группа с этим номером должна быть создана заранее.
Создание пользователя с указанием оболочки (shell)
Создать пользователя и добавить его в группы
Заключение
Как дать Root права пользователю в Linux
Суперпользователь «root” — это король пользователей Linux / Unix. Наличие корневого доступа предоставляет полный и неограниченный доступ к дистрибутиву Linux.
В этой инструкции я покажу вам, как дать root права пользователю в системе Linux. Как правило, доступ на корневом уровне (root) используется в системном администрировании. Поэтому всегда больно давать root-доступ другим пользователям. Вы должны быть очень осторожны и должны забрать доступ, как только необходимость в этом отпадет.
Как дать Root права пользователю в Linux
Согласно разрешениям файловой системы Linux, root или суперпользователь имеет полные права на чтение (r), запись (w) и выполнение (x) любого файла. По умолчанию идентификатор пользователя root равен «0».
Я собираюсь создать двух пользователей, а именно user1 и user2. Затем я предоставлю root-правак пользователю «user1«.
Способ 1: Добавление в корневую группу с помощью usermod
Давайте посмотрим, как мы можем дать обычному пользователю root- права, добавив его в корневую группу.
# adduser user1
# adduser user2
# groupadd test
Это группы, которые есть в моей дистрибутиве Linux.
# groups
root bin daemon sys adm disk wheel
Я собираюсь добавить user1 в корневую группу следующим образом:
Приведенная ниже команда даст пользователю привилегию root
Способ 2: Добавление в корневую группу с помощью команды Useradd
Я добавил нового пользователя «user3» в корневую группу с помощью команды:
Способ 3: Редактирование файла /etc/passwd
Отредактируйте /etc/passwd для конкретного пользователя. Измените UID и GID пользователя на «0«. Это даст root права пользователю в linux.
Теперь пользователь temproot должен иметь привилегии root:
ВНИМАНИЕ: это не рекомендуемый метод предоставления корневого доступа (root-прав)
Способ 4: Дать права пользователя Sudo
Конфигурационный файл sudo — это файл /etc/sudoers, и вы можете отредактировать его с помощью команды visudo:
Использование visudo защищает от конфликтов и гарантирует использование правильного синтаксиса.
Чтобы предоставить полный доступ конкретным пользователям
Добавьте в файл запись, приведенную ниже:
Следовать этому методу не очень хорошая идея, потому что это позволяет и User1, и User2 использовать команду su для предоставления постоянных привилегий root. Таким образом пропуская функции ведения журнала команд sudo.
Предоставление доступа к определенным файлам одному конкретному пользователю
Эта запись позволяет User 1 и всем другим членам группы получить доступ ко всем программным файлам в каталогах /sbin и /usr/sbin, а также привилегию выполнения команды /usr/oracle/backup.pl…
User1, %operator ALL= /sbin/, / usr/sbin, /usr/oracle/backup.pl
Если у вас есть какие-либо вопросы или предложения по этой теме, оставьте комментарий.
Рекомендации по установке и настройке Astra Linux 1.6
Рекомендации по установке ОС с диска
Установка Astra Linux 1.6 выполняется с диска в режиме графической установки в соответствии с руководством по установке, прилагаемом к дистрибутиву (см. «Операционная система специального назначения «ASTRA LINUX SPECIAL EDITION» РУСБ.10015-01. Версия 1.6 «Смоленск». Руководство по установке).
В процессе установки ОС необходимо учесть следующее:
1. В окне «Настройки учетных записей пользователей и паролей» рекомендуется создать фиктивного пользователя user с паролем useruser (ввод пароля осуществляется после нажатия на кнопку «Продолжить»).

2. В окне «Выбор программного обеспечения» выберите все, кроме «Приложения для работы с сенсорным экраном» и «Средства Виртуализации»:


4. Если в процессе дальнейшей работы будет использован статический IP-адрес (как бывает в большинстве случаев), то в окне «Дополнительные настройки ОС» включите настройку «Отключить автоматическую настройку сети».


Установка пароля и прав для пользователя root
Установка пароля для пользователя root
Восстановление прав пользователя root
Изначально в Astra Linux 1.6 пользователь root не имеет полный набор прав (например, он не может создавать каталоги в «/» или ставить пакеты). Для восстановления прав пользователя root выполните следующие действия:


Создание и использование локального репозитория
1. Зарегистрируйтесь пользователем root.
2. Создайте каталог репозитория, например /.1/astra, выполнив команду:
3. В созданном каталоге репозитария создайте каталог conf, выполнив команду:
4. В conf создайте файл distributions.
Для создания файла выполните команду:
В открывшемся окне редактора введите следующее содержимое файла:
Если по какой-либо причине указанная выше команда для создания файла не была выполнена, то воспользуйтесь командой vi, выполнив следующие действия:
4.2. Нажмите клавишу Insert для входа в режим редактирования.
4.3. Введите содержимое файла (приведено выше).
4.4. По окончании ввода текста (редактирования) нажмите клавишу Esc.
4.5. Для сохранения файла дважды нажмите Shift+z.
5. Вставьте первый диск дистрибутива и установите пакет reprepro, выполнив команды:
6. Инициализируйте репозиторий, выполнив команды:
7. Скопируйте пакеты в репозитарий, выполнив команду:
8. Проверьте, чтобы все терминалы и процессы, которые используют точку монтирования /mnt/cdrom, были завершены. Отмонтируйте диск, выполнив команду:
9. Вставьте второй диск дистрибутива и скопируйте пакеты, выполнив команды:
10. Отмонтируйте второй диск, выполнив команду:
11. Для подключения репозитария отредактируйте файл /etc/apt/sources.list, выполнив команду:
Откроется окно редактора, в котором будет выведено содержимое заданного файла. Удалите весь текст и вставьте следующую строку:
Примечание. Если планируется использовать сетевой репозитарий, расположенный на ftp-сервере, то содержимое файла /etc/apt/sources.list должно выглядеть следующим образом:
где вместо servername нужно прописать имя ftp-сервера или его IP-адрес.
12. Выполните команду:
Установка обновлений
Установка обновлений выполняется пользователем root и включает выполнение следующих действий:
1. Создайте каталог, в который будут скачаны файлы обновлений, выполнив команду:
2. Скачайте обновления для Astra Linux 1.6 с официального источника:
Сохраните скачиваемые файлы в созданный каталог /.1/iso.
3. Создайте каталог репозитория, например /.1/astra-upd, выполнив команду:
4. В созданном каталоге создайте подкаталог conf, выполнив команду:
5. В conf создайте файл distributions. Для создания файла выполните команду:
В открывшемся окне редактора введите следующее содержимое файла:
Если по какой-либо причине указанная выше команда для создания файла не была выполнена, то воспользуйтесь командой vi, выполнив следующие действия:
4.2. Нажмите клавишу Insert для входа в режим редактирования.
4.3. Введите содержимое файла (приведено выше).
4.4. По окончании ввода текста (редактирования) нажмите клавишу Esc.
4.5. Для сохранения файла дважды нажмите Shift+z.
6. Инициализируйте репозиторий, выполнив команду:
7. Cмонтируйте первый образ обновления и скопируйте пакеты, выполнив команды:
8. Отмонтируйте образ, выполнив команду:
9. Смонтируйте второй образ обновления и скопируйте пакеты, выполнив команды:
10. Отмонтируйте второй диск, выполнив команду:
11. Добавьте обновление в /etc/apt/sources.list. Для этого откройте этот файл на редактирование, выполнив команду:
12. Добавьте в файл строку следующего содержания:
13. Выполните команды:
Настройка сетевых интерфейсов и их автостарт
Если при установке Astra Linux 1.6 была отключена автоматическая настройка сети (см. выше п. «Рекомендации по установке ОС с диска», шаг 4), то требуется сконфигурировать сетевые интерфейсы вручную. Для настройки сетевых интерфейсов выполните следующие действия:
1. Откройте на редактирование файл /etc/network/interfaces, воспользовавшись командой mkedit или iv (подробно см. выше п. «Создание и использование локального репозитория», шаг 4), и добавьте в его конец следующие строки:
Обратите внимание, данные строки, настраивающие поднятие интерфейса eth0, в тексте редактируемого файла должны быть написаны ниже имеющихся в файле строк:
В противном случае инициализация сети в момент загрузки будет занимать очень продолжительное время.
3. Изменения вступят в силу после перезагрузки. Для этого выполните команду:
Настройка ssh
По-умолчанию, ssh-сервер выключен, а также блокирует попытки входа пользователем root. Для изменения настроек ssh-сервера, выполните следующие действия, зарегистрировавшись пользователем root:
1. Откройте файл /etc/ssh/sshd_config на редактирование, выполнив команду
Если команда mcedit не была выполнена, то воспользуйтесь командой iv (подробно см. выше п. «Создание и использование локального репозитория», шаг 4).
2. Запустите ssh-сервер и добавьте его в автозагрузку, выполнив команды:
Включение общепринятых alias’ов
По-умолчанию, у пользователей выключены общепринятые alias’ы, такие как ll. Для их активации рекомендуется отредактировать файл .bashrc, который находится в домашнем каталоге пользователя.
Для пользователя root откройте на редактирование файл /root/.bashrc, воспользовавшись командой mkedit или iv (подробно см. выше п. «Создание и использование локального репозитория», шаг 4), и удалите символ комментария (#) в следующих строках:
Для всех остальных пользователей отредактируйте файл /home/ /.bashrc, удалив символ комментария в следующих строках:
Настройка grub
Откройте на редактирование файл /boot/grub/grub.cfg, воспользовавшись командой mkedit или iv (подробно см. выше п. «Создание и использование локального репозитория», шаг 4).
Что именно загружается по-умолчанию, определяется параметрами set default (19-я строка файла). Этот параметр указывает на уникальный идентификатор со строкой menuentry.
Так, например, параметр
указывает на строку
Освобождение GID 1001, UID 1000 и 1001 для штатных пользователей ЖС
Внимание! Выполняйте данный пункт только после отключения мандатного контроля целостности и восстановления пользователя root в правах (подробно см. выше п. «Установка пароля и прав для пользователя root»).
В ходе установки Astra Linux 1.6 штатные GID/UID занимает безусловно-создаваемый пользователь. Для освобождения GID/UID выполните следующие действия пользователем root:
1. Откройте на редактирование файл /etc/passwd, воспользовавшись командой mkedit или iv (подробно см. выше п. «Создание и использование локального репозитория», шаг 4).
2. Откройте на редактирование файл /etc/group.
3. Восстановите права на домашний каталог пользователя user, выполнив команду:
4. Создайте группу afis, выполнив команду:
5. Создайте пользователя admin с обязательным использованием ключа -m, иначе домашняя директория пользователя создана не будет:
Назначьте созданному пользователю пароль, выполнив команду:
6. Создайте пользователя st с обязательным использованием ключа -m, выполнив команду:
Назначьте ему пароль, выполнив команду:
Установка системных пакетов
Перед установкой ПО «ЖС» и «Фильтр» нужно обязательно нужно установить следующие пакеты:
