Пароли и профили пользователей
Концепция паролей традиционна для системы UNIX и поддерживается в практически неизменном виде вот уже более двух десятков лет. Идея проста -- проверить, имеет ли пользователь право доступа к системе путем сравнения идентификатора и пароля, введенных пользователем с эталонами, хранящимися в файле паролей (обычно — /etc/passwd).
Это обычный ASCII-файл, который вы можете отредактировать с помощью vi или Emacs. Как и большинство конфигурационных файлов UNIX, passwd состоит из записей, поля которых разделены двоеточиями. Вот пример одной из записей:
vovka:Xv75fs1Z521:102:0:Vladimir Vodolazkiy:/home/vovka:/bin/tcsh
Первое поле — vovka, содержит идентификатор пользователя. За ним следует пароль, который хранится в зашифрованном виде. Дело в том, что обычно файл /etc/passwd открыт на чтение всем категориям пользователей, поскольку позволяет в удобной форме получить информацию о том, кто и как работает в системе. И нужно это прежде всего не для людей, а для программ-демонов, выполняющих автоматическую обработку информации. Дабы максимально затруднить злоумышленнику взлом пароля в качестве ключа шифрования используется сам пароль. Поэтому при загрузке системы система шифрует введенный пользователем пароль и проверяет, совпадает ли полученная строка с содержанием поля в /etc/passwd. После чего и решает -- пускать пользователя в систему или нет. Вся информация, которая содержится в оставшихся полях, по большому счету относится к профилю пользователя и используется при загрузке системы, о чем мы уже писали ранее.