Файл скрытых паролей
  • Категории
  • Подписка
  • Разместить статью
21/12/09 0 7847 Учетные записи пользователей      
-

Файл скрытых паролей

file_skr_pas_securos.org.uaМеханизм устаревания паролей ограничивает срок, в течение которого пароль поль­зователя остается корректным. Этот механизм может быть реализован на общесистем­ном уровне посредством файла /etc/login.defs либо для отдельных пользователей посредством файла /etc/shadow. Последний называют файлом скрытых паролей. Для каждого пользователя он содержит запись, в которой указаны хешированный пароль и све­дения о сроке его действия. По умолчанию этот файл может не существовать. Давайте рассмотрим, как создавать и использовать такой файл.

Файл скрытых паролей по умолчанию создается в ходе инсталляции системы, что существенно повышает ее безопасность, и вот почему. Дело в том, что все хешированные пароли переносятся из файла /etc/passwd в файл /etc/shadow, доступ к которому разрешен только суперпользователю и только для чтения. Кроме того, появляется возможность задать предельный срок действия каждого пароля. Файл /etc/ passwd открыт для чтения, а значит, и для копирования. Если файл скрытых паролей не используется, все хешированные пароли находятся в файле /etc/passwd, и любой пользователь может попытаться «взломать» его с помощью утилиты Crack.

Для того, чтобы создать файл скрытых паролей в Linux (предполагается, что файл не был создан во время инсталляции) не нужны статусы в контакте (см. finestatus.ru), выполните команду pwconv от имени суперпользователя. Она автоматически переместит в файл /etc/shadow все хешированные пароли (а также пароли вида *) и запишет во второе поле каждой записи файла /etc/passwd символ х. Если нужно произвести обратное действие, просто выполните команду pwunconv от имени суперпользователя. Разумеется, информация об устаревании паролей, хранящаяся в файле /etc/shadow, будет потеряна.

Механизм устаревания паролей отдельных пользователей включается только при на­личии файла /etc/shadow. С помощью команды chage в этот файл можно добавлять сведения о пользовательских паролях. Фрагмент файла /etc/shadow:


root:otlY/YgV5e.Bk:10640:0:99999:7:::

bin:*:10640:0:99999:7:::

daemon:*:10640:0:99999:7:::

adm:*:10640:0:99999:7:::

lp:*:10640:0:99999:7:::

sync:*:10640:0:99999:7:::

joe:E/ulR7fLAQO6o:10640:0:99999:7:::

mary:VBtHXaJk3IPD6:10640:7:30:3:45::

guest1:xdbt9JIxfCUvo:10 64 0:0:99999:7::10640:

Подобно файлу passwd, файл shadow содержит одну строку (запись) для каждого пользователя. Каждая запись состоит из списка полей, разделенных двоеточиями. Всего существует 9 полей. Порядок записей в обоих файлах должен быть идентичным. Поля файла /etc/shadow:

Команда для модификации

Описание

1

useradd, usermod и userdel

Регистрационное имя пользователя; должно в точ­ности соответствовать имени пользователя в файле /etc/passwd

2

passwd

Хешированный пароль длиной от 13 до 34 ASCII-символов; допустимые символы — a-z, A-Z, 0-9, ‘.’, $и/

3

passwd или chage -d

Дата последнего изменения пароля (число дней, про­шедших с начала эпохи UNIX  — с 1 января 1970 года)

4

chage -m

Число дней, которое должно пройти с момента по­следнего изменения пароля, прежде чем его снова можно будет поменять

5

chage -M

Число дней, которое должно пройти с момента по­следнего изменения пароля, когда пользователь обя­зан будет сменить пароль

6

chage -W

Число дней до истечения срока действия пароля, ко­гда выдается предупреждение

7

chage -I

Число дней по истечении срока действия пароля, ко­гда учетная запись блокируется

8

chage -E

Число дней, которое должно пройти с начала эпохи UNIX, чтобы учетная запись устарела. В полночь по­следнего дня учетная запись будет заблокирована

9

Зарезервировано

Команда chage

Для запуска команды chage необходимо иметь привилегии суперпользователя. Это не касается только опции -l, позволяющей пользователю узнать текущие установки. Все остальные опции были определены в таблице. Рассмотрим несколько примеров.

В первом примере пользователю joe запрещается менять пароль в течение 14 дней, а по прошествии 30 дней он обязан поменять пароль:

# chage  -m 14   -М 30  joe

Во втором примере срок действия учетной записи guest истекает 4 апреля 2009 года:

# chage -E 04/04/09 guest

А вот как пользователь mary может проверить свои текущие установки:

$ chage -1 mary

Minimum: 7

Maximum: 30

Warning: 3

Inactive: 45

Last Change: Feb 18, 2009

Password Expires: Mar 20, 2009

Password Inactive: May 04, 2009

Account Expires: Never

Файл /etc/login.defs

Файл /etc/shadow — не единственный способ включить механизм устаревания паролей. В Linux есть общесистемный файл /etc/login.defs, который задает параметры устаревания паролей всех пользователей, кроме root. В нем также содержится ряд других записей.

В первой части файла содержатся директивы, определяющие местонахождение почто­вых ящиков пользователей. Подробнее об этом говорится в комментариях самого файла.

В следующей части файла задаются общесистемные параметры устаревания паролей. Параметры PASS_MIN_DAYS, PASS_MAX_DAYS и PASS_WARN_AGE соответствуют четвертому, пятому и шестому полям файла /etc/shadow (см. табл.). Установки файла /etc/shadow имеют более высокий приоритет. Параметры устаревания паролей в файле /etc/login.defs:


PASS_MAX_DAYS 30

PASS_MIN_DAYS 10

PASS_MIN_LEN 5

PASS_WARN_AGE 7

Параметр PASS_MIN_LEN задает минимальную длину пароля для всех пользовате­лей, кроме root. Если используются модули РАМ, их установки имеют более высокий приоритет.

Помните, что записи файла /etc/shadow действительны для конкретных пользо­вателей, поэтому если в файле /etc/login.defs заданы параметры устаревания па­ролей, а в файле /etc/shadow описан не каждый пользователь, то для «отсутствующих» пользователей будут выбраны стандартные установки. Таким образом, в файле /etc/login.defs можно задать установки по умолчанию, а затем настроить их для конкретных пользователей в файле /etc/shadow.

Оставшаяся часть файла показана ниже. Параметры CHFN_AUTH и CHFN_RESTRICT могут принимать значение yes либо no. Если первый из них ра­вен yes, то всякий раз, когда пользователь выполняет команду chfn или chsh, будет выдаваться запрос на ввод пароля. В противном случае пользователь сможет менять информацию, выдаваемую утилитой finger, и при этом не вводить пароль. Только су­перпользователь имеет право менять данные утилиты finger, относящиеся к другим пользователям. Если параметр CHFN_RESTRICT равен yes, пользователь не сможет по­менять свое «настоящее» имя с помощью команды chfn —f. Завершающие директивы файла /etc/login.defs:


UID_MIN  500

UID_MAX 60000

GID_MIN 500

GID_MAX   60000

#

CHFN_AUTH  yes

#

CHFN_RESTRICT  yes

#

#USERDEL_CMD /usr/sbin/userdel_local

#

CREATE_HOME  yes

Все параметры, за исключением CHFN_AUTH и CHFN_RESTRICT, связаны с команда­ми useradd и userdel. Это утилиты командной строки, предназначенные для управле­ния учетными записями.  Параметры UID_MIN, UID_MAX и CREATE_HOME задают стандартное поведение команды useradd, а параметр USERDEL_CMD расширяет функциональные возможности команды userdel.

Если при вызове команды useradd не задать идентификатор пользователя, то при наличии показанных выше установок команда назначит первой созданной учетной запи­си идентификатор 500, следующей — идентификатор 501 и т.д. вплоть до максимального идентификатора 60000. Параметр CREATE_HOME может принимать значение yes или no. В первом случае команда useradd автоматически создаст начальный каталог пользова­теля в каталоге /home. Во втором случае начальный каталог будет создан только в том случае, если указан флаг -m. Дополнительные установки команды useradd содержатся в файле /etc/default/useradd. Если возникает неоднозначность, установки файла /etc/login.defs имеют приоритет.

Параметр USERDEL_CMD задает сценарий или программу (должно быть указано пол­ное имя) для выполнения перед удалением учетной записи. По умолчанию ни сценария, ни программы не существует. Команда userdel не удалит учетную запись, если поль­зователь зарегистрирован в системе и/или в ней выполняются процессы пользователя. С помощью параметра USERDEL_CMD администратор может задать собственную про­грамму, которая проанализирует и, возможно, устранит все факторы, препятствующие удалению учетной записи.

Параметры GID_MIN и GID_MAX задают, соответственно, минимальное и максималь­ное значения идентификаторов групп.

В Linux, есть графические утилиты, позво­ляющие выполнять все действия, связанные с управлением учетными записями. Сюда относится как универсальная утилита linuxconf, так и специальные административ­ные программы (например, User Manager).


Добавить комментарий

Яндекс.Метрика