Это зашифрованный файл паролей, в котором хранится зашифрованная информация о паролях для учетных записей пользователей. В дополнение к хранению зашифрованного пароля файл /etc/shadow хранит дополнительную информацию о сроке действия или истечении срока действия пароля. Появление теневого файла (shadow) произошло из-за необходимости отделить зашифрованные пароли от файла /etc/passwd . Это было необходимо, потому что легкость, с которой можно было взломать зашифрованные пароли, росла с увеличением вычислительной мощности обычных компьютеров (домашних ПК). Идея заключалась в том, чтобы сделать файл /etc/passwd доступным для чтения всем пользователям, не сохраняя в нем зашифрованные пароли, а затем сделать /etc/shadow файл доступен для чтения только root или другим привилегированным программам, которым требуется доступ к этой информации. Примером такой программы может быть программа входа в систему.
Вы можете спросить: «Почему бы просто не сделать обычный файл /etc/passwd доступным для чтения только пользователям root или другим привилегированным программам?» Что ж, не все так просто. Поскольку файл паролей был открыт в течение стольких лет, остальное системное программное обеспечение, которое выросло вокруг него, полагалось на тот факт, что файл паролей всегда был доступен для чтения всем пользователям. Изменение этого может привести к сбою некоторого программного обеспечения.
Как и в файле /etc/passwd, каждая строка в файле /etc/shadow представляет информацию о пользователе. Строки состоят из различных стандартных полей, показанных ниже, каждое из которых разделено двоеточием:
- Логин
- Зашифрованный пароль
- Количество дней, прошедших с 1 января 1970 г., когда последний раз меняли этот пароль.
- Дней до того, как пароль может быть изменен
- Кол-во дней, по истечении которых пароль необходимо изменить
- За сколько дней до истечения срока действия пароля пользователь получает предупреждение
- Через сколько дней после истечения срока действия пароля эта учетная запись будет отключена
- Дней с 1 января 1970 г., когда эта учетная запись была отключена
- Зарезервированное поле
Здесь показан образец записи из файла /etc/shadow для учетной записи пользователя mmel:
mmel:$l$HEWdPIJ.$qX/RbB.TPGcverAVDlF4g.:12830:0:99999:7:::
Эпоха UNIX: 1 января 1970 г.
1 января 1970 г. 00:00:00 UTC было выбрано в качестве отправной точки или начала отсчета времени в системах UNIX. Этот конкретный случай во времени также известен как эпоха UNIX. Измерения времени в различных областях вычислений подсчитываются и увеличиваются в секундах от эпохи UNIX. Проще говоря, это количество секунд, прошедших с 00:00:00 1 января 1970 года.
Интересное время UNIX - 1000000000 - выпало на 9 сентября 2001 года, в 1:46:40 AM (UTC). Еще одно интересное время UNIX - 1234567890 - пришлось на 13 февраля 2009 г., в 23:31:30 (UTC). Многочисленные веб-сайты посвящены вычислению и отображению эпохи UNIX, но вы можете быстро получить текущее значение, выполнив эту команду в командной строке оболочки:
# date +%s