Тема 5 Разграничение прав пользователей и доступа файлам в OC Unix.
Учетные записи пользователей операционных систем клона Unix хранятся в файле / etc / passwd. Учетная запись пользователя i имеет следующий формат: имя пользователя ID;: хеш-значение его пароля Н(Р, ): системный идентификатор пользователя UID, : системный идентификатор первичной группы пользователя GID, : полное имя и должность пользователя D;: домашний (рабочий) каталог пользователя HD, : командный процессор (оболочка), применяемый пользователем, SH, Для добавления учетной записи нового пользователя администратором применяется команда aclcluser с параметром, равным уникальному логическому имени пользователя длиной до восьми символов. При работе в системе пользователь полностью идентифицируется своим системным идентификатором UID, поэтому два пользователя с одинаковым идентификатором будут обладать совершенно одинаковыми правами в системе. Как правило, каждому пользователю назначается уникальный UID. В большинстве Unix-подобных систем предопределены следующие учетные записи пользователей:
В учетных записях псевдопользователей в поле хеш-значения пароля помещается «*», что не позволяет применять эти имена для входа в систему. Поскольку привилегии пользователя в КС определяются не его именем, а значением UID, вход в систему пользователя с именем root и с системным идентификатором, отличным от нуля, не обеспечит ему привилегий суперпользователя. С другой стороны, вход в систему пользователя с произвольным логическим именем и с U ID, равным нулю, даст ему все полномочия суперпользователя.
Для повышения безопасности КС целесообразно не применять учетную запись root для регулярной работы в системе. Вместо нее следует создать другие учетные записи для пользователей, выполняющих те или иные административные функции (учет пользователей, работу с различными системными сервисами и т. п. ). В Unix-системах возможно определение списка терминалов, с которых не может входить в КС суперпользователь. Пользователи изменяют свои пароли с помощью команды passwd. Этой же командой может воспользоваться и суперпользователь для задания нового пароля (вместо забытого старого) пользователю с указанным в качестве параметра команда passwd именем учетной записи. Пароли пользователей записываются в файл учетных записей в хешированном виде. Применяется следующий алгоритм хеширования:
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 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|