Как добавить нового пользователя в качестве sudoer с помощью командной строки?

После добавления пользователя с помощью adduser я не могу увидеть его через System > Administration > Users and Groups, пока не выйду из системы, а затем снова войду. Это нормально?

Также, могу ли я установить только что добавленного пользователя как sudoer или мне нужно изменить это только после добавления? Как я могу сделать это через оболочку?

Наконец, могу ли я удалить оригинального пользователя, который был создан при первоначальной установке Ubuntu, или этот пользователь является каким-то 'особенным'?

Решение

Просто добавьте пользователя в группу sudo:

sudo adduser  sudo

Изменение вступит в силу при следующем входе пользователя в систему.

Это работает, потому что /etc/sudoers предварительно настроен на предоставление прав всем членам этой группы (вам не придется вносить в него никаких изменений):

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

Пока у вас есть доступ к пользователю, который входит в те же группы, что и ваш "оригинальный" пользователь, вы можете удалить старого пользователя.


В реальности есть и другие группы, в которых должен состоять ваш новый пользователь. Если вы установите для пользователя тип учетной записи Администратор в Настройках пользователей, он будет включен по крайней мере во все эти группы:

adm sudo lpadmin sambashare

Поскольку конфигурация вашей системы может отличаться, я рекомендую взглянуть на вывод groups, чтобы увидеть, какие группы обычно используются.

Комментарии (15)

Я сделал

sudo usermod -a -G sudo 

в соответствии с рекомендациями здесь.

Комментарии (6)

Откройте файл sudoers: sudo visudo откроет файл /etc/sudoers в редакторе, определенном в $EDITOR (вероятно GNU nano - установите переменную, если это не то, что вам нужно, например, export EDITOR="nano" и попробуйте sudo visudo снова).

Добавьте следующую строку в конец файла.

username ALL=(ALL) ALL   # Change the user name before you issue the commands

Затем выполните WriteOut с помощью Ctrl + O. Редактор спросит вас об имени файла, в который будет производиться запись. По умолчанию это будет временный файл, который используется visudo для проверки синтаксических ошибок перед сохранением в реальный файл sudoers. Нажмите Enter, чтобы принять его. Выйдите из редактора nano с помощью Ctrl + X.

Готово!

Комментарии (5)

Одна вещь, я должен добавить, что я'уверен, что многие люди Дон'т понять:

После того как вы уже сделали команду adduser-то "логин" В, вы все еще можете вернуться и сделать команду adduser-то "логин" и судо`, а затем добавить этого пользователя в группу правильно.

Он на самом деле выиграл'т работу в первый раз, как судо судо команду adduser имя_пользователя. Это даст вам ошибку. Что в резюме означает, что вы должны сначала сделать учетную запись пользователя, прежде чем вы можете добавить их в группу.

Комментарии (0)

Всем членам группы admin, в Ubuntu по умолчанию разрешено использовать sudo, поэтому самый простой способ - добавить учетную запись пользователя в группу admin.

Если вы не хотите предоставлять учетной записи пользователя полный доступ root, вам нужно отредактировать файл /etc/sudoer с помощью visudo (он следит за тем, чтобы в файле не было синтаксических ошибок и вы полностью потеряли возможность sudo) таким образом, чтобы указать, какие команды этот пользователь (или новая группа) может выполнять от имени root.

В руководстве sudoer manual вы найдете больше информации об этом. Вы можете указать, какие команды разрешено выполнять от имени root определенному пользователю/группе.

Комментарии (3)

на CentOS, я делаю как корень

echo ' username ALL=(ALL)   ALL' >> /etc/sudoers
Комментарии (0)

В следующем фрагменте предоставляет root доступ к имени пользователя без явного входа под root.

Убедитесь, что пользователь добавлен в группу sudo в первую очередь. Проверена на Ubuntu 16.04.1 ЛЦ.

sudo adduser username sudo
sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"
Комментарии (3)