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

753

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

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

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

    
задан David B 15.10.2010 в 14:02
источник

7 ответов

938

Просто добавьте пользователя в группу 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> , чтобы узнать, какие группы обычно используются.

    
ответ дан ændrük 15.10.2010 в 14:35
источник
167

Я сделал

sudo usermod -a -G sudo <username>

, как рекомендовано здесь .

    
ответ дан Leszek 21.11.2013 в 15:25
68

Откройте файл 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 .

Готово!

    
ответ дан Mithun Sreedharan 16.03.2012 в 05:53
28

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

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

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

    
ответ дан TaunT406 12.12.2013 в 17:52
10

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

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

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

    
ответ дан txwikinger 15.10.2010 в 14:34
8

на CentOS, я делаю как root

echo ' username ALL=(ALL)   ALL' >> /etc/sudoers
    
ответ дан jowan sebastian 03.03.2016 в 20:03
5

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

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

sudo adduser username sudo
sudo sh -c "echo 'username ALL=NOPASSWD: ALL' >> /etc/sudoers"
    
ответ дан Sandeep 29.12.2016 в 15:26