LAMER. Linux Administration Made Easy Russian



Пароли в Linux & формат файла Shadow


Традиционные Unix системы хранят данные о пользователях вместе с зашифрованным паролем в текстовом файле ``/etc/passwd''. Поскольку этот файл используется многими инструментальными средствами (типа ``ls'') чтобы отобразить владельца файла и другие подобные сведения, файл должен быть открыт на чтение для всех, что, конечно, дает отличный шанс хакерам.

Другой метод хранения информации, тот, который я всегда использую, затенение паролей. Как и раньше, есть файл /etc/passwd с данными о пользователях. Однако, вместо паролей ставится символ “x”, а пароли хранятся отдельно в файле ``

/etc/shadow'', в котором хранятся зашифрованные пароли и некоторая дополнительная информация о паролях. Файл /etc/shadow доступен для чтения только root, что повышает защиту.

В Red Hat Linux установка пакета Shadow Password Suite, ответственного за теневые пароли, проста. Наберите как root:

/usr/sbin/pwconv Для конвертации в формат shadow /usr/sbin/pwunconv Для конвертации назад в нормальный формат

С теневыми (shadow) паролями файл ``/etc/passwd'' хранит сведения о пользователях в виде:

smithj:x:561:561:Joe Smith:/home/smithj:/bin/bash

Каждое поле в записи отделено символом “:”:

  • Username, до 8 символов. Регистр важен, обычно пишут в нижнем регистре.

    Символ “x” в поле пароля. Пароли хранятся в файле ``/etc/shadow''.

    Числовой user id. Назначается скриптом ``adduser''. Unix использует данное значение и значение группы для определения кому какие файлы принадлежат.

    Числовой group id. Red Hat использует group id в довольно неожиданном способе усиления защиты файла. Часто group id равен user id.

    Полное имя пользователя. Максимальная длина мне неизвестна, но лучше ограничиться разумными рамками (до 30 символов).

    Домашний каталог пользователя. Обычно /home/username (например, /home/smithj). Там хранятся все личные файлы пользователя и его web-страницы.

    Пользовательская оболочка. Обычно используется ``/bin/bash'' для доступа к оболочке bash.

Если нужно чтобы пользователь не имел доступа к shell, создайте скрипт ``/bin/sorrysh'', который выведет соотвтетствующее сообщение и завершит работу пользователя. Впишите скрипт сюда в качестве оболочки.




Содержание  Назад  Вперед