Права root через sudo.
sudo — утилита для расширения прав и переключения на других пользователей или другие группы без передачи пароля. Наиболее часто используется для получения прав root.
Если необходимо создать нового пользователя, введите в терминале:
sudo useradd пользователь -m -s /bin/bash && sudo passwd пользователь
Затем, по запросу терминала, создайте и повторите пароль.
Чтобы дать пользователю возможность получать права суперпользователя с помощью sudo, необходимо добавить его в специальную группу, в Ubuntu, Debian и Linux Mint эта группа называется «sudo», а в CentOS и RHEL — «wheel». Для добавления введите команду:
для Ubuntu, Debian и Linux Mint
sudo usermod -a -G sudo пользователь
для CentOS и RHEL
sudo usermod -a -G wheel пользователь
Теперь, чтобы получить права root, достаточно выполнить команду «sudo» с опцией:
- команда — разовое выполнение или запуск программы;
- -s — переключение в режим суперпользователя без переключения домашнего каталога;
- -i — переключение в режим суперпользователя с переключением на домашний каталог /root;
Если в системе установлен и включён SELinux, при недостаточности привилегий, многие действия могут блокироваться. В таком случае, необходимо выполнить инструкцию ниже. Тем у кого не установлен, дальше можно не читать. Чтобы проверить его наличие, введите в терминале:
sudo sestatus
Если терминал выведет «команда не найдена» или «Command 'sestatus' not found» — значит не установлен, если в первой строке вывода будет строка «SELinux status: enabled» — значит установлен и активен.
Права root в SELinux.
В SELinux имеются свои пользователи, с которыми ассоциируются системные и если системный пользователь ассоциирован с непривилегированным SELinux пользователем, он может блокировать его действия. Чтобы исключить блокирование, необходимо приравнять системного пользователя к тому же SELinux пользователю, что и root.
Для дальнейшей работы потребуется набор инструментов, который можно установить командой:
Для CentOS и RHEL
sudo yum install -y setroubleshoot
для Ubuntu, Debian и Linux Mint:
sudo apt install -y policycoreutils
Затем нужно узнать с каким SELinux пользователем ассоциирован root, для этого введите команду:
sudo semanage login -l | grep root
Вывод будет примерно таким:
root unconfined_u s0-s0:c0.c1023 *
Из вывода видно, что root приравнен к «unconfined_u», следовательно, чтобы дать системному пользователю полномочия суперпользователя, необходимо его уравнять с «unconfined_u»:
sudo usermod пользователь -Z unconfined_u