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

25

Я только начал использовать Scientific Linux (7.0) (хотя я предполагаю, что этот вопрос может быть нейтральным по отношению к распространению ..). Версия ядра - 3.10.0-123.20.1.el7.x86_64.

Возвращаясь к моему вопросу.

Я переключился на rootучетную запись и оттуда создал новую учетную запись пользователя test-accountс помощью команды adduser test-account. Он не запрашивал у меня пароль, и я не использовал опцию для ввода пароля. Так что я предполагаю, что это учетная запись «без пароля». Я могу войти в эту учетную запись из учетной записи root - что, я полагаю, я мог бы сделать без предоставления пароля, даже если бы у тестовой учетной записи был пароль. Однако, когда я пытаюсь войти в этот (тест-аккаунт) с третьего аккаунта - он запрашивает у меня пароль. И просто нажатие Enterне работает.

Можно ли войти в эту учетную запись из учетной записи не-root. Есть ли способ (без переключения на рут или использования sudo)?

Lavya
источник
Политика вашей системы может заключаться в том, что требуется пароль. adduserзнает -pвариант установки пароля, однако его использование не рекомендуется. Так как root, сделайте passwd test-accountи установите пароль.
ot--
нет, учетная запись создается без пароля, и я даже могу получить к ней доступ, переключившись на нее с правами root. Единственное, что я не могу сделать, это переключиться на него от обычного пользователя.
Лавя
Как вы переходите на него из корня (какую команду вы используете)?
roaima
@roaima su test-account. Это переключается на test-accountзапрос без пароля (что произойдет, даже если бы test-accountу вас был пароль). Однако, когда я пытаюсь переключиться на тестовую учетную запись с другой непривилегированной учетной записи пользователя, ядро ​​запрашивает у меня пароль с приглашением, и оно не принимает void (нажатие eneter)
Lavya
Вы уже получили ответ на это. Наслаждаться.
роайма

Ответы:

29

По умолчанию на предприятии GNU / Linux и его производных adduserкоманда создает пользователя, который отключен, пока вы явно не укажете пароль для этого пользователя.

Вот пример CentOS 6.5, который должен быть таким же, как Scientific Linux.

 $ sudo adduser test
 $ sudo grep test /etc/shadow
 test:!!:123456:0:99999:7:::

причина этого в том, что в /etc/shadowфайле поле пароля, !!как вы можете видеть в примере.

как только вы запустите passwdэту учетную запись, она изменит пароль пользователя и позволит пользователю войти в систему.

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

 $ sudo adduser test
 $ sudo passwd -d test
 Removing password for user test.
 passwd: Success
 $ su test
 $ whoami
 test

теперь любой пользователь должен иметь возможность использовать suи войти в систему как пользователь testв моем примере. Вам не придется использовать sudoдля входа в качестве учетной записи.

Хотя это возможно, и вы можете иметь учетную запись без пароля, это не рекомендуется. Если вы просто установите пароль для пользователя, вам будет разрешено войти в систему.

$ sudo passwd test
[sudo] password for <YOURACCOUNT>:
Changing password for user test.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Натан Маккой
источник
«Команда adduser создает пользователя, который отключен до тех пор, пока вы явно не укажете пароль для этого пользователя»: как я могу переключиться на test-account root, если это так (пользователь отключен)?
Лавя,
su test-account
Натан Маккой
Я хотел спросить: если учетная запись отключена, то как я могу переключиться на нее, используя suroot?
Лавя
2
rootпользователь может suв любой учетной записи, имеющей оболочку. Если оболочка была установлена, /bin/falseнапример, она не будет работать. Это просто магия root! многие учетные записи пользователей не имеют допустимой оболочки и используются только для выполнения определенных программ от имени этого пользователя. такие как apacheпользователь и веб-сервер apache.
Натан Маккой
В Ubuntu 18.04 я не могу войти как пользователь с пустым паролем.
Сиро Сантилли 事件 改造 中 at 法轮功 六四 事件
3

У меня есть пользователь гость, который не имеет пароля. Это его запись:

гость: U6aMy0wojraho: 17057: 0: 99999: 7 :::

Строка "U6aMy0wojraho" является хешированным паролем гостевого пользователя. Когда я вхожу в систему, я просто нажимаю Enter для ввода пароля, и система позволяет мне войти.

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

Я скопировал эту строку с Ubuntu live CD - ее пользователь без пароля.

Райчо Николов
источник
Вместо принятого ответа ( passwd -d ...) это дополнительно работает с sddm.
mzimmer
1
Редактировать /etc/shadowфайл напрямую рискованно и обычно не рекомендуется. Иметь guestучетную запись - это хорошо, но использование инструментов для редактирования пароля снизит вероятность неправильного ввода данных пользователем или проблем с сохранением многопользовательских файлов.
Натан Маккой
@NathanMcCoy, я согласен, что это рискованно. Но инструменты GUI не позволяют сделать пустой пароль - для этого требуется не менее 6 или 8 символов. По крайней мере, это тот случай на Kubuntu, который я использую.
Райчо Николов
@NathanMcCoy да, можно было chpasswd -eбы сделать это более безопасно: unix.stackexchange.com/a/472966/32558
Сиро Сантилли 新疆 改造 中心 法轮功 六四 事件
Это отлично подходит для случаев аварийного восстановления, подключите жесткий диск (так сказать) и отредактируйте пару файлов, чтобы починить машину. В частности, добавьте этого пользователя и временно добавьте его в sudoers, а затем используйте последовательную консоль для входа в систему и исправления того, что сломалось openssh
Рэй Фосс
2

Пользователь с пустым паролем

sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | sudo chpasswd -e
su test-user-0

Запрос пароля все еще показывает, к сожалению.

Но если вы просто нажмете Enter, ничего не печатая, и он войдет как пользователь test-user-0.

В -eфлагах говорят , chpasswdчто пароль уже зашифрован, и U6aMy0wojrahoявляются хэшем пустой строки.

Проверено на Ubuntu 18.04.

BusyBox autologin

По крайней мере, на терминале вам не нужно создавать пользователя без пароля, чтобы позволить кому-то не вводить свои пароли каждый раз, достаточно взломать inittab: Как войти автоматически, не вводя имя пользователя или пароль root в Buildroot BusyBox init?

Ciro Santilli 新疆 改造 中心 法轮功 六四 事件
источник