Как добавить пользователя в группу «sudo»?

187

В /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 работать без пароля на Ubuntu 17?
Адам Ф
@ AdamF посмотри здесь . В следующий раз задайте новый вопрос, если хотите получить более быстрый ответ. ;-)
Fabby
Кофемолка: не могли бы вы поменять свое согласие на самый высокооплачиваемый ответ, так как это лучший способ сделать это? (без пароля)
Fabby

Ответы:

250
sudo usermod -aG sudo <username>

Это aочень важно. Без этого они будут удалены из всех других групп. Вам нужно будет либо перезапустить вашу оболочку / терминал, либо выйти и снова войти, чтобы это вступило в силу.

Смотрите также:

MACO
источник
Я сделал то, что вы рекомендовали, но терминал сказал мне bash: sudo: command not found, почему?
Teifi
@Teifi, это означает, что вы, вероятно, не sudoустановили или, по какой-то странной причине, это не на вашем пути. Что происходит, когда ты бежишь which sudo?
n0pe
Новых терминалов было недостаточно. Закончилась перезагрузка по другой причине, и теперь это работает. Вероятно, выход / вход.
deed02392
Я знаю, aчто для добавления, но я думаю, что было бы более полезно, чтобы добавить в качестве поведения по умолчанию. Создать псевдоним легко, так что тогда можно будет groupadd groupпросто добавить его. Я выполнил команду без -a однажды сегодня, так как я не запомнил -aаргумент.
erm3nda
Хотя это форум по Ubuntu, для CentOS мне пришлось это сделать sudo usermod -aG sudo <username>. Потому что мне было нелегко это выяснить.
Акки
43

Вы можете использовать для этого графический интерфейс управления пользователями (там же, где вы создаете пользователей) или использовать sudo adduser <username> sudoв командной строке.

txwikinger
источник
2
Это также упоминается в документации по RootSudo для Ubuntu, хотя они относятся к группе администраторов, а не к группе sudo
icc97
8
+1: это самый простой для запоминания, простой и интуитивно понятный способ добавить пользователя в группу!
Андреа Корбеллини
Это дает мне ошибку, говоряUsage: adduser [options] LOGIN\n adduser -D\n adduser -D [options]\n
Акки
23

Вы также можете использовать графический интерфейс. Нажмите на механизм в правом верхнем углу панели, затем выберите «Настройки системы», а затем «Учетные записи пользователей»

Вам нужно нажать маленькую кнопку разблокировки, чтобы иметь возможность редактировать вещи в этом окне. Затем нажмите на учетную запись человека и выберите правильный раскрывающийся список для «Тип учетной записи»

введите описание изображения здесь

QBi
источник
У меня Ubuntu 10.10, но мой графический интерфейс заблокирован. Открывается но у меня при нажатии кнопок ничего не происходит. Я полагаю, что-то связано с привилегиями (я на самом деле sudoer). Как я могу решить эту проблему?
linello
Вы нажали кнопку «разблокировать»?
Даборосс
Хорошая анимация! Я хотел бы сделать такую ​​анимацию GIF, чтобы показать новые функции моего веб-приложения? Я на Lubuntu 16.04 ...
Стефан
20

Это действительно просто, если вы используете Unity в качестве рабочего стола.

Если вы уже создали пользователя, вы можете просто изменить его с « Стандартный» на « Администратор» , иначе убедитесь, что вы выбрали « Администратор» при создании нового пользователя.

Не забудьте разблокировать, прежде чем пытаться изменить его

введите описание изображения здесь

Бруно Перейра
источник
2
Очень крутая GIF анимация! +1 Как ты это сделал? Перенес вопрос сюда .
HHH
askubuntu.com/a/123515/25863
Бруно Перейра
2

Я опоздал на вечеринку, но этот ответ может помочь кому-то, кто использует 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: The user 'myuser' does not exist.. Прочитав этот ответ , я сначала запустил команду для создания пользователя:

root@default:/# adduser myuser

Затем запустили следующую команду:

root@default:/# adduser myuser sudo
Adding user `myuser' to group `sudo' ...
Adding user myuser to group sudo
Done.

Пользователь myuser был успешно добавлен в группу sudo.

Antony
источник
1

Используйте usermod. Добавьте разрешение sudo с помощью следующей команды:

usermod -aG sudo <your username>

Обратите внимание, что для этого вам потребуется использовать учетную запись root или другую учетную запись с разрешениями sudo. Если по какой-то причине у вас нет доступа к другой учетной записи и вы не знаете пароль пользователя root, вам понадобится Live CD с Ubuntu (или другим дистрибутивом Linux), а затем вам потребуется выполнить хромирование в вашей файловой системе Ubuntu и выполните приведенную выше команду изнутри chroot.

выполнение кода
источник
1

Вот как я настраиваю пользователя без полномочий 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директиву, которая позволяет любым файлам в подкаталогах переопределять эти встроенные обновления.
Сет Бергман
источник