Где пароли хранятся?

Как Вы выясняете, где пароли пользователя хранятся для пользователей, которые могут войти в систему? Я знаю, что система использует LDAP для пользователей (имя пользователя, домашний путь, и т.д.), но это не содержит вида паролей. У меня есть доступ к настроенной машине, поэтому как я выясняю, где пароли? (который файл конфигурации?)

5
задан 21 June 2011 в 15:06

3 ответа

Пароли не хранятся themselve. Они преобразовываются функцией, и так произведенное значение, которое называют hash, хранится.

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

Функция является видом, который трудно инвертировать. Таким образом со значением в/etc/shadow, Вы не можете вычислить старый пароль, и ключ там не полезен для входа в систему - Вам нужен пароль.

С грубой силой можно попытаться генерировать такой пароль, и для общих названий как 123456, password, asdf, secret, 1111 и так далее теневые значения уже известны, и сохраненные в так называемом rainbow-tables.

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

Я не уверен, использует ли человечность соль. Мы можем ожидать кого-то, кто объясняет это нам, или Вы могли генерировать того же пользователя с тем же паролем на двух машинах и сравнить значение в/etc/shadow.

4
ответ дан 23 November 2019 в 09:09

Пароли (или лучшие хеши) по всей вероятности хранятся в сервере LDAP. "По всей вероятности" означает, что у Вас могла быть очень странная установка, где они не. Конфигурация LDAP очень гибка, но это также означает, что, не осматривая файлы конфигурации четкий ответ о том, как это сделано в Вашей ситуации, не может быть дан. Вы, вероятно, изучили /etc/ldap.conf на клиенте для деталей конфигурации?

Одна возможная установка для аутентификации LDAP похожа на это: клиентское поле берет имя пользователя и пароль от входа в систему, и выполняет связывание с сервером LDAP с этой информацией. Сервер LDAP проверяет имя пользователя и пароль и любую успешность или неуспешность возвратов. В этой установке клиентское поле никогда не видит хеш сохраненного пароля с сервера LDAP.

Вы знаете тип используемого сервера LDAP? Видите ли Вы, что хешированные пароли пользователя зависят от установки сервера LDAP. См. как пример http://www.faqs.org/docs/securing/chap26sec213.html на том, что Вы могли настроить на сервере OpenLDAP.

Ответ на хешировании пароля от "неизвестного пользователю" корректен, это только, в котором не хранятся хеши /etc/shadow но в сервере LDAP. Хеширование себя могло бы также быть выполнено сервером LDAP а не клиентским полем.

3
ответ дан 23 November 2019 в 09:09

Вы пробовали
- phpldapadmin?
- ldapsearch - LLL-x-b "dc=your, dc=domain" uid =* (или замена * именем пользователя, возможно, это - cn вместо uid),
Если пароли хранятся в ldap, необходимо видеть их с этим методы.

Если компьютер является контроллером домена, возможно, ему установили smbldap-инструменты, таким образом, можно просто изменить пароли с smbldap-passwd именем пользователя

Вы могли бы также хотеть проверить свою конфигурацию pam.d (/etc/pam.d/common -*) для обнаружения, какой механизм входа в систему компьютер использует.

0
ответ дан 23 November 2019 в 09:09

Другие вопросы по тегам:

Похожие вопросы: