Каждая запись файла /etc/passwd состоит из семи полей. Второе поле содержит строку, которая представляет собой зашифрованный пароль пользователя. Для того чтобы могли работать такие команды, как ls и ей подобные, файл /etc/passwd должен быть открыт для чтения. Следовательно, зашифрованная строка пароля доступна всем пользователям системы Злоумышленнику ничего не стоит представить в зашифрованном виде целый сло-варь или отдельные слова и провести сравнение с указанным полем во всех записях файла /etc/passwd. При совпадении сравниваемых элементов злоумышленник получает пароль.
Насколько это опасно? В 80-е гг. существовал по крайней мере один способ очень быстрой расшифровки паролей, но рядовому хакеру приходилось довольствоваться библиотечной функцией crypt() Для шифрования слов из словаря с целью их последующего сравнения. В то время "быстродействующий" компьютер мог выполнять порядка нескольких сотен операций шифрования в секунду. В 1998 г. Джон Гилмор (John Gilmore) из организации Electronic Frontier Foundation и шифровальщик Пол Кошер (Paul Kocher) взломали 56-разрядный ключ DES методом "грубой силы" за 56 часов. Последние исследования показывают, что с помощью специализированного компьютера стоимостью 1млн. долларов можно взломать любой 56-разрядный ключ DES за считанные часы.
Из этих далеко не обнадеживающих подсчетов вытекает настоятельная необходимость в ограничении доступа пользователей к зашифрованным строкам паролей. Самый распространенный способ — поместить пароли в отдельный файл, доступный только суперпользователю, а остальную часть файла /etc/passwd оставить без изменений. Файл, содержащий информацию о паролях, называется файлом скрытых паролей (/etc/shadow). "большинстве дистрибутивов Linux этот файл используется по умолчанию.
Групповые и совместно используемые Учетные записи
Опасно, если учетная запись используется несколькими людьми. Групповые регистрационые имена (например, guest или demo) представляют собой удобную лазейку для хакеров, поэтому применять их не следует.
Нельзя допускать, чтобы пользователи делили учетные записи с членами семьи или зьями. Если маленькому Джонни нужно войти в систему, чтобы решить домашнее задание, лучше предоставить ему для этой конкретной цели отдельное имя. В случае злоупотребления проще удалить регистрационное имя Джонни, чем папину учетную запись особенно если речь идет о правительственном учреждении.
Во многих организациях учетная запись root является групповой. Это слишком опасно! Рекомендуем контролировать предоставление прав суперпользователя с помощью утилиты sudo.