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

После того как я добавлю пользователя с помощью adduserЯ не вижу его через Система> Администрирование> Пользователи и группы, если я не выйду из системы, а затем снова войду в систему. Это нормально?

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

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

7 ответов

Решение

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

sudo adduser <username> sudo

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

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

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

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


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

adm sudo lpadmin sambashare

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

Я сделал

sudo usermod -a -G sudo <username>

как рекомендуется здесь.

Откройте файл 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, чтобы принять его. Выйдите из редактора нано с помощью Ctrl + X.

Готово!

Я должен добавить, что многие люди не понимают:

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

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

На CentOS я делаю как root

echo ' username ALL=(ALL)   ALL' >> /etc/sudoers

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

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

sudo adduser username sudo
sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"

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

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

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

Другие вопросы по тегам