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

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

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

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

Просто добавьте пользователя в 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

Затем выполните запись с помощью Ctrl + O. Редактор запросит у вас имя файла для записи. По умолчанию будет использоваться временный файл, используемый visudo чтобы проверить наличие синтаксических ошибок перед сохранением в фактическом sudoers файл. Нажмите Enter принять это. Выйдите из редактора nano с помощью 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 sudosudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"

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

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

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