Пользователи, группы и безопасность
В данной главе рассматриваются следующие вопросы:
- пользователи;
- различия между привилегированными и непривилегированными пользователями;
- файлы входа в систему;
- файл /etc/passwd;
- файл /etc/shadow;
- файл /etc/gshadow;
- файл /etc/login.defs;
- модификация сведений об устаревании паролей;
- РАМ.
В основе безопасности МСВС лежат концепции пользователей и групп. Все решения о том, что разрешается или не разрешается делать пользователю, принимаются на основании того, кем является вошедший в систему пользователь с точки зрения ядра операционной системы.
Общий взгляд на пользователей
МСВС является многозадачной многопользовательской системой. В обязанности операционной системы входят изоляция и защита пользователей друг от друга. Система следит за каждым из пользователей и, исходя из того, кем является этот пользователь, определяет, можно ли предоставить ему доступ к тому или иному файлу или разрешить запуск той или иной программы.
При создании нового пользователя ему ставится в соответствие уникальное имя
ПРИМЕЧАНИЕ
Система определяет привилегии пользователя на основании идентификатора пользователя (user ID, UID). В отличие от имени пользователя, UID может и не быть уникальным, в этом случае для сопоставления ему имени пользователя берется первое найденное имя, UID которого совпадает с данным.
Каждому новому регистрируемому в системе пользователю ставятся в соответствие определенные элементы системы.
Привилегированные и непривилегированные пользователи
При добавлении нового пользователя в систему ему выделяется специальный номер, называемый идентификатором пользователя (user ID, UID). В Caldera МСВС выделение идентификаторов новым пользователям начинается с 500 и продолжается в сторону больших чисел, вплоть до 65 534. Номера до 500 зарезервированы для системных учетных записей.
В общем и целом идентификаторы с номерами, меньшими 500, ничем не отличаются от остальных идентификаторов. Часто программе для нормального функционирования требуется специальный пользователь с полным доступом ко всем файлам.
Нумерация идентификаторов начинается с 0 и продолжается до 65 535. UID 0 — это особенный UID. Любой процесс или пользователь с нулевым идентификатором является привилегированным. Такой человек или процесс имеет неограниченную власть над системой. Ничто не может служить для него запретом. Учетная запись root (учетная запись, UID которой равен 0), также называемая учетной записью суперпользователя, делает вошедшего с ее использованием если не владельцем, то как минимум его доверенным лицом.
Остается UID, равный 65 535. Он тоже не из обычных. Этот UID принадлежит пользователю nobody (никто).
Когда-то одним из способов взлома системы было создание пользователя с идентификатором 65 536, в результате чего он получал привилегии суперпользователя. Действительно, если взять любой UID и перевести соответствующее число в двоичную форму, то получится комбинация из шестнадцати двоичных разрядов, каждый из которых равен либо 0, либо 1. Подавляющее количество идентификаторов включают в себя как нули, так и единицы. Исключением является нулевой UID суперпользователя, состоящий из одних нулей, и UID nobody, равный 65535 и состоящий из 16 единиц, то есть 1111111111111111. ............