Администрирование FreeBSD 8: управление пользователями системы

Этой статьей я открываю цикл статей по администрированию системы FreeBSD 8. В этих статьях будут рассмотрены способы по управлению системой которые я надеюсь будут интересны как новичкам так и опытным специалистам FreeBSD. Тема этой статьи – управление пользователями ОС FreeBSD.

Пользователи FreeBSD - делятся как минимум на две категории системный пользователь (пользователи под которыми запущены программы, процессы, демоны) и пользователи системы ( под которыми тоже можно запускать сервисы, но кроме этого ими пользуются люди). FreeBSD 8 это многопользовательская система. Управление пользователями системы очень важный вопрос как безопасности так и правильного пользования ресурсами системы. Ведь как вы уже наверно знаете доступ к информации в системе FreeBSD привязан к пользователям системы и только root способен обращаться к любой информации на компьютере. Приведу пример – мы хотим запустить сервер www APACHE, работая в системе он должен быть запущен по каким-то пользователем, можно его к примеру запустить под пользователем root – но процесс наследует права пользователя его запустившего! Поэтому если вдруг он будет взломан, взломщик получит практически полный доступ к системе. Дабы этого избежать создается специальный системный пользователь – который имеет только минимально необходимый объем прав для функционирования сервера APACHE и все. Также стоит учитывать что на на любого пользователя (кроме root) возможно наложения ограничений по использованию системных ресурсов, мы обязательно рассмотрим примеры такой настройки. Также для удобства и гибкости пользователи объединяются в группы, так намного проще дать права на необходимую папку сразу целой группе пользователей а не каждому по отдельности. Перейдем к рассмотрению информации о пользователе системы freeBSD. Логин пользователя (login) – это уникальное (на этом компьютере) имя пользователя, до восьми символов в нижнем регистре. К каждому логину принадлежит пароль, он вводиться сразу после введения имени пользователя. UID – номер присвоенный каждому пользователю от 0 - 65535, именно это число для системы является именем, что позволяет создавать пользователей с разными логинами одним UID – для системы это один пользователь. GID – тоже номер от 0 - 65535 только номер группы в системе с которой ассоциирован пользователь, любой пользователь может быть включен в несколько групп одновременно. Также из важных полей следует упомянуть домашний каталог и оболочку пользователя. Домашний каталог – это раздел с которого пользователь начинает работу при входе в систему. Оболочка – это интерпретатор команд способный управлять системой к примеру /bash или /tcsh, системным пользователям или пользователям которым прямое взаимодействия с FreeBSD запрещено можно устанавливать /sbin/nologin (отсутствие интерпретатора). Переходим к командам которые необходимы для управления учетными записями пользователей в FreeBSD 8.

adduser – удобный скрипт для заведения нового пользователя, постепенно отвечая на вопросы вы создаете пользователя freeBSD. rmuser <имя пользователя> – удаляет пользователя из системы, программа задает вопросы вы отвечаете. chpass <имя пользователя> - изменить информацию о пользователе. passwd <имя пользователя> – если нужно сменить пароль пользователя. Создать новую группу можно так pw groupadd <имя группы>, добавить пользователя в группу - pw groupmod <имя группы> -m <имя пользователя>. Предлагаю Вам самим воспользовавшись выше изложенной информации и создать, а потом удалить пользователя. Вы увидите что это совсем не сложно.

Теперь рассмотрим ограничения которые можно наложить на пользователей FREEBSD.

Мы будем рассматривать ограничения процессорного времени, памяти и подобного типа ресурсов системы. Ограничения реализованы с помощью классов, классы прописаны в /etc/login.conf. После внесения изменений в файл /etc/login.conf необходимо выполнить

ifreebsd#cap_mkdb /etc/login.conf

Это необходимо для создания или update файла /etc/login.conf.db с ним система работает напрямую, но редактировать необходимо /etc/login.conf. Откройте файл /etc/login.conf, а мы рассмотрим некоторые опции класса default, это поможет вам при создании собственного класса.

Итак passwd_format=md5: Это указании на алгоритм шифрования в котором будет пароль пользователя. copyright=/etc/COPYRIGHT: – собственно копирайт, не существенная опция.welcome=/etc/motd: – приветствие при входе в систему, не существенная опция. setnev= - установка переменных shell. path – указания пути к каталогам исполняемых файлов.nologin=/var/run/nologin- место файла nologin если прямое взаимодействие с системой для пользователя запрещено.priority=0: приоритет для созданных пользователем процессов по умолчанию.:cputime= максимальное количество процессорного времени которое может быть выделено пользователю. :filesize=размер максимального файла который может обрабатывать пользователь. :maxproc= максимальное количество процессов которые могут быть запущенны пользователем. :memoryuse= максимальное количество памяти которое может быть занято процессами запущенными от имени пользователя. :memorylocked=максимальное количество памяти которое способен заблокировать один процесс запущенный из под пользователя. :openfiles= максимальное количество файлов которые может открыть процесс запущенный из под пользователя. Помните что редактировать этот файл необходимо аккуратно, потому как это может вызвать нестабильность в работе пользователей.

Обновлено: 12.03.2015