В /etc/sudoers
я вижу это:
# Allow members of group sudo to execute any command after they have
# provided their password
# (Note that later entries override this, so you might need to move
# it further down)
%sudo ALL=(ALL) ALL
Так как мне добавить пользователя в эту sudo
группу?
sudo usermod -aG sudo <username>
Очень важно a
. Без него они будут удалены из всех остальных групп. Вам нужно будет либо перезапустить оболочку/терминал, либо выйти из системы и вернуться обратно, чтобы это вступило в силу.
Смотрите также:
Для этого можно либо использовать пользовательский интерфейс управления (в том же месте, где вы создаете пользователей), либо использовать sudo adduser <имя_пользователя> sudo
в командной строке.
Вы также можете использовать графический интерфейс. Нажмите на передачу в верхней правой части панели, затем выберите "System Settings" (Системные настройки), а затем "User Accounts" (Аккаунты пользователей)
Вам нужно нажать на маленькую кнопку разблокировки, чтобы иметь возможность редактировать вещи в этом окне. Затем нажмите на учетную запись пользователя и выберите соответствующее выпадающее меню для "Тип учетной записи"
Я опаздываю на вечеринку, но этот ответ может помочь кому-то, кто использует Ubuntu внутри контейнера Docker.
Недавно я создал контейнер Docker на основе Ubuntu 16.04.1.
По умолчанию образ Docker Ubuntu представляет собой урезанную версию Ubuntu, в которой нет подавляющего большинства общих инструментов, включая sudo
.
Кроме того, по умолчанию пользователь входит в Docker. контейнер с правами root.
Поэтому я запустил контейнер с помощью команды docker run
и установил пакет sudo:
root@default:/# apt-get install sudo
Выполнение команды adduser myuser sudo
сообщило об ошибке adduser: Пользователь myuser не существует.
.
Прочитав этот ответ , я сначала выполнил команду для создания пользователя:
root@default:/# adduser myuser
Затем выполнил следующую команду:
root@default:/# adduser myuser sudo
Adding user `myuser' to group `sudo' ...
Adding user myuser to group sudo
Done.
Пользователь myuser был успешно добавлен в группу sudo.
Это действительно просто, если вы используете Unity в качестве среды рабочего стола.
Если вы уже создали пользователя, вы можете просто изменить его с Standard на ] Администратор , иначе убедитесь, что вы выбрали Администратор при создании нового.
Не забудьте разблокировать перед попыткой изменить его
Используйте usermod. Добавьте разрешение sudo с помощью следующей команды:
usermod -aG sudo <your username>
Обратите внимание, что для этого вам придется использовать учетную запись root или другую учетную запись с разрешениями sudo. Если по какой-то причине у вас нет доступа к другой учетной записи и вы не знаете пароль root, вам понадобится live CD Ubuntu (или другого дистрибутива Linux), а затем вам нужно будет выполнить chroot в файловой системе Ubuntu и запустите указанную выше команду изнутри chroot.
Вот как я настраиваю пользователя без полномочий root с базовым образом ubuntu: 18.04
:
RUN \
groupadd -g 999 foo && useradd -u 999 -g foo -G sudo -m -s /bin/bash foo && \
sed -i /etc/sudoers -re 's/^%sudo.*/%sudo ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
sed -i /etc/sudoers -re 's/^root.*/root ALL=(ALL:ALL) NOPASSWD: ALL/g' && \
sed -i /etc/sudoers -re 's/^#includedir.*/## **Removed the include directive** ##"/g' && \
echo "foo ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers && \
echo "Customized the sudoers file for passwordless access to the foo user!" && \
echo "foo user:"; su - foo -c id
Что происходит с приведенным выше кодом:
foo
. foo
добавляется в группы foo
и sudo
. uid
и gid
установлены на значение 999
. / home / foo
. / bin / bash
. sed
выполняет встроенные обновления файла / etc / sudoers
, чтобы разрешить foo
и root
беспарольный доступ пользователей к группе sudo
. sed
отключает #includedir
директива, которая позволит любым файлам в подкаталогах отменять эти встроенные обновления.