Есть ли пароль root на OS X и Ubuntu?

13

Когда вы настраиваете новую установку Ubuntu или OS X, пользователь обычно создается для вас. На OS X это то имя пользователя, которое вы выберете. В Ubuntu (версия сервера) обычно ubuntuсоздается пользователь.

Насколько я понимаю, есть также пользователь root, к которому вы можете получить доступ через что-то вроде sudo su - rootи ввести пароль ubuntuпользователя или пользователя, которого вы создали, который является частью группы администраторов. Как только вы переключитесь на rootя думаю, вы можете использовать passwdкоманду и изменить пароль root.

Но какой был rootпароль до этого? Это существует? Это случайная строка цифр и букв? Как система справляется с этим?

УХО
источник
1
На Ubuntu вам нужно только sudo su. rootСчета принимается по умолчанию.
Натан Осман
1
В Ubuntu suтребуется только для переключения на пользователя без полномочий root . Чтобы запустить одну команду от имени пользователя root, введите sudo command. Чтобы получить корневую оболочку, введите sudo -i.
Скотт Северанс
И если вы скажете кому-то на форумах Ubuntu, как установить пароль root, или загрузиться и сбросить пароль пользователя через livecd, он может заблокировать ваш аккаунт на 30 дней ... спросите меня, откуда я знаю .... Ubuntu люди действительно не хотят, чтобы у вас был установлен пароль для root, они хотят, чтобы вы всегда использовали sudo
ivanivan

Ответы:

12

Я могу ответить только за Ubuntu.
В Ubuntu у rootпользователя есть заблокированный пароль. С passwdman-страницы:

   -l, --lock
           Lock the password of the named account. This option disables a 
           password by changing it to a value which matches no possible 
           encrypted value (it adds a '!' at the beginning of the password).

Вы можете увидеть !в /etc/shadow.

Пользователь с заблокированной учетной записью не может изменить свой пароль, но пользователь root может без предварительного ввода старого пароля.

enzotib
источник
10

Вот как разблокировать (?) Или создать фактического пользователя root в OSX:

  1. Системные настройки
  2. Пользователи и группы
  3. Параметры входа в систему (нажмите кнопку блокировки и авторизуйтесь здесь)
  4. Нажмите «Присоединиться» (NAS)
  5. Утилита Open Directory
  6. Нажмите на замок (повторите аутентификацию)
  7. Меню Правка -> включить пользователя root
  8. (Меню Правка -> изменить пароль root)

Наслаждайтесь !

Йосси Фарджун
источник
+1 за хорошее описание Mac GUI. Я только когда-либо знал способ командной строки для активации учетной записи root.
Эндрю Дж. Брем
Да, я был поражен, когда парень из службы поддержки клиентов Apple провел меня через шаги, чтобы сделать это ... Я подумал, что это слишком хороший секрет, чтобы держать его "скрытым".
Йосси Фарджун
7

Как сказал enzotib, у Ubuntu есть учетная запись root, но по умолчанию она заблокирована.

Теперь о Mac:

Как вы можете догадаться, root (вместе со всеми учетными записями демонов) не отображается в разделе «Пользователи и группы» в Настройках.

Глядя на мои Mac /etc/passwd, есть запись для root, вместе с сообщением

Note that this file is consulted directly only when the system is running
in single-user mode.  At other times this information is provided by 
Open Directory.

Я пытался найти список пользователей Open Directory, но безуспешно, но в конфигурациях упоминалось о явном предоставлении корневых разрешений, даже если они подразумеваются. Мне никогда не предлагали ввести пароль root при первой настройке компьютера, поэтому я предполагаю, что учетная запись root заблокирована, как и в Ubuntu. Я не пытался (и не хочу) пытаться дать root-пароль и войти в систему с ним, но вы, вероятно, могли.

Строка passwd:

root:*:0:0:System Administrator:/var/root:/bin/sh

Команда perl из комментария Кейта добавляет :0в конец. Нет хэша пароля. Там нет и теневого файла, который я могу найти, я нигде не смог найти их, чтобы проверить, может ли root иметь пароль.

Kevin
источник
Какой выход perl -e 'print join(":", getpwuid(0)), "\n"'? ( ПРИМЕЧАНИЕ . Если он содержит что-то, похожее на хешированный пароль, не размещайте его здесь.)
Кит Томпсон,
@KeithThompson Написал, ничего особенного. Я знаю о хэше, но я ценю вас, включая предупреждение для пользователей, которые могут этого не делать.
Кевин
1
Как насчет той же команды Perl с вашим собственным uid? Это показывает хешированный пароль? (Опять же, очевидно, не размещайте хэш.)
Кит Томпсон
1
Хм. Возможно, getpwuid()в MacOS это делается намеренно, чтобы избежать раскрытия конфиденциальной информации (хотя должно быть что-то, что может получить доступ к хешированному паролю).
Кит Томпсон
1
Я искал в Интернете, и, кажется, у них была тень в прошлой ос, но я не могу найти ее во льве.
Кевин
7

Пароль root в Mac OS X хранится (как упомянул Кевин) в Open Directory. Для подтверждения существования пользователя root требуется простой grep:

$ grep ^root /etc/passwd 
root:*:0:0:System Administrator:/var/root:/bin/sh

Чтобы прочитать информацию о пароле root из Open Directory:

$ dscl localhost -read /Local/Default/Users/root Password
Password: *
$ dscl localhost -read /Local/Default/Users/root AuthenticationAuthority
No such key: AuthenticationAuthority

В случае по умолчанию (как показано) у пользователя root не установлен хэш пароля (учетная запись заблокирована). Вы можете сравнить этот параметр со значением в OD для «обычного» пользователя:

$ dscl localhost -read /Local/Default/Users/normaluser Password
Password: ********
$ dscl localhost -read /Local/Default/Users/normaluser AuthenticationAuthority
AuthenticationAuthority: ;ShadowHash;HASHLIST:<SALTED-SHA512>...#rest of hash data
Марк Глоссоп
источник
2

Ubuntu устанавливает пароль для указанного пользователя и использует его для задач уровня суперпользователя (root), таких как установка и удаление общесистемного программного обеспечения и каталога, а также удаление / выполнение файла за пределами вашего домашнего каталога. Корневая учетная запись фактически существует, но без назначенного пароля она немного скрыта. Соглашения об использовании Canonical и Ubuntu, по сути, отговаривают вас напрямую вызывать его.

Он устанавливает именованную учетную запись пользователя, а не настраивает общую учетную запись «ubuntu». Это по крайней мере в случае с установленными системами. Может быть, есть общая учетная запись "Ubuntu", если вы используете live CD, я не помню, я не работал с live CD пару лет.

Поведение в MacOsX на самом деле очень похоже. Вас попросят установить пароль, который будет вызываться каждый раз, когда вы пытаетесь выполнить задачи уровня суперпользователя, такие как установка или обновление программного обеспечения, но нет учетной записи с именем «root».

haziz
источник
3
Я считаю, что на самом деле корневой пользователь. Вы можете suполучить root, root имеет домашний каталог, а файлы могут принадлежать root. Можете ли вы привести цитату из своего аргумента об отсутствии учетной записи root?
cwd
3
Конечно, есть явная учетная запись root (uid 0, имя «root»). Это должно быть в любой Unix-подобной системе. У него просто нет пароля (по крайней мере, по умолчанию). Вы даже можете получить корневую оболочку:, sudo bash -lзатем введите whoami. (Но обычно вы должны использовать sudoдля отдельных команд вместо того, чтобы интерактивная оболочка работала от имени пользователя root.)
Кит Томпсон
Возможно, вы правы, я не допрашиваю вас. Если есть учетная запись root, то они хорошо поработали, скрыв ее. Я также использую Fedora на некоторых своих машинах и виртуальных машинах, и root - очень активная учетная запись.
Хазиз
1

Для Ubuntu: по умолчанию вы можете получить доступ к вновь созданной учетной записи пользователя.

Для запуска любой команды от имени root вы можете использовать

sudo command

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

Корневая учетная запись по умолчанию заблокирована. Чтобы активировать root с помощью командной строки, просто введите

sudo passwd

затем введите свой логин пароль пользователя и затем новые пароли для пользователя root. Теперь вы можете войти в систему как пользователь root, su а затем ввести пароль пользователя root.

kushdilip
источник