Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Тема 5  Разграничение прав пользователей и доступа файлам в OC Unix.




Учетные записи пользователей операционных систем клона Unix хранятся в файле / etc / passwd. Учетная запись пользователя i имеет следующий формат:

имя пользователя ID;: хеш-значение его пароля Н(Р, ): системный идентификатор пользователя UID, : системный идентификатор первичной группы пользователя GID, : полное имя и должность пользователя D;: домашний (рабочий) каталог пользователя HD, : командный процессор (оболочка), применяемый пользователем, SH,

Для добавления учетной записи нового пользователя администратором применяется команда aclcluser с параметром, равным уникальному логическому имени пользователя длиной до восьми символов. При работе в системе пользователь полностью идентифицируется своим системным идентификатором UID, поэтому два пользователя с одинаковым идентификатором будут обладать совершенно одинаковыми правами в системе. Как правило, каждому пользователю назначается уникальный UID. В большинстве Unix-подобных систем предопределены следующие учетные записи пользователей:

  • • root — суперпользователь (администратор), обладающий всеми правами в системе;
  • • daemon или sys — псевдопользователь, связанный с сервисами операционной системы;
  • • guest — анонимный пользователь КС;
  • • nobody — псевдопользователь, не являющийся владельцем объектов и обладающий минимальными правами в системе;
  • • agent, ftp, uucp, news, lp — псевдопользователи, связанные соответственно с сервисами электронной почты, FTP, UUCP, Usenet и печати, и др.

В учетных записях псевдопользователей в поле хеш-значения пароля помещается «*», что не позволяет применять эти имена для входа в систему. Поскольку привилегии пользователя в КС определяются не его именем, а значением UID, вход в систему пользователя с именем root и с системным идентификатором, отличным от нуля, не обеспечит ему привилегий суперпользователя. С другой стороны, вход в систему пользователя с произвольным логическим именем и с U ID, равным нулю, даст ему все полномочия суперпользователя.

Для повышения безопасности КС целесообразно не применять учетную запись root для регулярной работы в системе. Вместо нее следует создать другие учетные записи для пользователей, выполняющих те или иные административные функции (учет пользователей, работу с различными системными сервисами и т. п. ). В Unix-системах возможно определение списка терминалов, с которых не может входить в КС суперпользователь.

Пользователи изменяют свои пароли с помощью команды passwd. Этой же командой может воспользоваться и суперпользователь для задания нового пароля (вместо забытого старого) пользователю с указанным в качестве параметра команда passwd именем учетной записи.

Пароли пользователей записываются в файл учетных записей в хешированном виде. Применяется следующий алгоритм хеширования:

  • 1) на основе времени суток генерируется случайное значение длиной 12 бит, которое затем преобразуется в строку из двух символов и запоминается в файле учетных записей как первые два символа поля с хеш-значением пароля;
  • 2) магическое значение длиной 64 бита, состоящее из нулей или пробелов, зашифровывается по алгоритму DES, причем в качестве ключа шифрования длиной 56 бит используется пароль пользователя, а случайное значение (salt) применяется для модификации алгоритма шифрования;

3) полученное значение длиной 64 бита вновь зашифровывается на том же ключе (общее число повторений равно 25);

4) полученное окончательное значение преобразуется в 11 символов (каждым 6 битам соответствует один символ из множества 7, ’О'-’Ф, 'A'-'Z', ’a'-'z'});

5) полученная строка символов записывается в файл учетных записей после случайного значения.

Поскольку пароль используется в алгоритме хеширования в качестве ключа DES-шифрования длиной 56 бит, его минимальную длину целесообразно выбирать равной восьми символам (56 бит в кодировке ASCII). Другим требованием к сложности паролей может быть обязательное наличие в нем строчных и прописных букв, цифр и знаков препинания. Пользователям также может быть запрещено устанавливать собственные пароли, а для входа в систему использовать только сгенерированные ею пароли. В последнем случае генератор паролей может запускаться при выполнении команды passwd, доступ к которой должен быть ограничен.

В современных Unix-системах вместо алгоритма шифрования DES для получения хеш-значения пароля пользователя применяется функция хеширования MD5, а также при изменении пароля генерируется более длинное случайное значение.

Для временного отключения учетной записи пользователя администратор может заменить хеш-значение пароля в его учетной записи символом «*». Для удаления учетной записи пользователя следует удалить его учетную запись из файла /etc/passwd, а также удалить все файлы пользователя и его домашний каталог с помощью команд:

find / usr / имя домашнего каталога — exec rm {};

rmdir имя домашнего каталога

Все учетные записи псевдопользователей должны быть отключены.

По умолчанию к файлу /etc/passwd разрешен доступ по чтению для всех пользователей КС. Это необходимо, поскольку сведения о системных идентификаторах пользователя и его первичной (основной) группы, домашнем каталоге и имени пользователя из этого файла должны быть доступны различным программам. Для защиты хеш-значений паролей от чтения непривилегированными пользователями (с последующим подбором паролей других пользователей) выполняется процедура «затенения» (shadow) паролей. В этом случае хеш-значения паролей перемещаются из файла /etc/passwd в файл /etc/shadow (/etc/ security/passwd. adjunct или /etc/master. passwd в других операционных системах). Запись в теневом файле паролей имеет следующий формат:

имя пользователя: хеш-значение пароля: дата последней замены пароля: количество дней до возможной смены пароля: количество дней до обязательной смены пароля: количество дней до предупреждения пользователю о необходимости замены пароля: количество дней после истечения срока действия пароля, по истечении которых происходит отключение учетной записи: дата отключения учетной записи: зарезервированное поле

В исходном файле учетных записей при использовании «затенения» паролей в поле хеш-значения пароля помещаются специальные символы (например, х) или случайная строка символов (для усложнения задачи подбора паролей). Доступ к файлу теневых паролей имеет только привилегированный пользователь.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...