[Обучение] Управление Unix пользователями и Unix группами

[Обучение] Управление Unix пользователями и Unix группами

@Torchik_Ru

База данных пользователей и групп Unix состоит из текстовых файлов /etc/passwd (список пользователей), /etc/shadow (зашифрованные пароли пользователей), /etc/group (список групп) и /etc/gshadow (зашифрованные пароли групп). Их форматы документируются в passwd(5), shadow(5), group(5), и gshadow(5) соответственно. Хотя эти файлы могут быть отредактированы вручную с помощью таких инструментов, как vipw и vigr, для выполнения наиболее распространенных операций существуют инструменты более высокого уровня.

Создание пользовательского аккаунта

Несмотря на то, что Kali чаще всего запускается, проводя аутентификации в качестве пользователя root, вам часто может понадобиться создавать непривилегированные учетные записи пользователей по разным причинам, особенно если вы используете Kali в качестве основной операционной системы. Самый простой способ добавить пользователя - это использовать команду adduser, которая требует определенный аргумент: имя пользователя (username) для нового пользователя, которого вы бы хотели создать.

Команда adduser задает несколько вопросов перед созданием учетной записи, но ее использование довольно простое. Его конфигурационный файл /etc/adduser.conf содержит множество интересных настроек. Вы можете, например, определить диапазон идентификаторов пользователей (user identifiers (UID)), который может быть использован для того, чтобы обозначить используют ли пользователи общую группу или нет, определить оболочку по умолчанию и многое другое.

Создание аккаунта запускает популяцию домашних директорий пользователей с содержимым шаблона /etc/skel/. Это предоставляет пользователю набор стандартных директорий и файлов конфигурации.

В некоторых случаях будет очень полезно добавлять пользователя в группу (отличную от основной группы по умолчанию), чтобы предоставить дополнительные разрешения. Например, пользователь, включенный в группу sudo, имеет полные административные права через sudo команду. Подобного результата можно достичь с помощью использования следующей команды adduser группа пользователя.

Использование getent для обращения к базе данных пользователя:
Команда getent (получение записей (get entries)) проверяет системные базы данных (включая базы данных пользователей и групп) используя соответствующие функции библиотек, которые в свою очередь вызывают модули системы идентификации имен (name service switch (NSS)), настроенные в файле /etc/nsswitch.conf. Данная команда использует один или два аргумента: имя базы данных, которую необходимо проверить, и возможный ключ поиска. Таким образом, команда getent passwd kaliuserl выдаст информацию из пользовательской базы данных о пользователе kaliuserl.

Изменение существующей учетной записи или пароля

Следующие команды разрешают изменения информации, хранящейся в конкретных областях пользовательской базы данных:

  • passwd — позволяет обычным пользователям изменять свой пароль, который в свою очередь, обновляет файл /etc/ shadow файл;
  • chfn — (Сменить полное имя (CHange Full Name)), зарезервированное для суперпользователя (root), изменяет GECOS, или область ’’общая информация”;
  • chsh —(Сменить оболочку (CHange SHell)) изменяет оболочку входа пользователя. Однако доступные варианты будут ограничены теми, которые перечислены в /etc/shells; администратор, с другой стороны, не связан этим ограничением и может установить оболочку в любую выбранную программу;
  • chage—(CHange AGE) позволяет администратору изменять настройки срока действия пароля, указывая имя пользователя в качестве аргумента или отображая текущие настройки с помощью параметра -I пользователь. Кроме того, вы также можете принудительно завершить использование пароля с помощью команды passwd -e пользователь, которая заставляет пользователя менять свой пароль при следующем входе в систему.

Блокирование аккаунта

Вам может потребоваться отключить учетную запись (заблокировать пользователя) в качестве дисциплинарной меры в целях расследования или просто в случае длительного или окончательного отсутствия пользователя. Заблокированная учетная запись означает, что пользователь не может войти в систему или получить доступ к машине. Учетная запись остается неповрежденной на машине, и никакие файлы или данные не удаляются; она просто недоступна. Это достигается с помощью команды passwd -l пользователь (lock). Повторное включение учетной записи выполняется аналогичным образом с опцией -u (разблокировка).

Управление Unix группами

Команды addgroup и delgroup добавляют или удаляют группу, соответственно. Команда groupmod изменяет информацию о группе (ее gid или идентификатор). Команда gpasswdgroup изменяет пароль для группы, а команда gpasswd -r группа удаляет его.

Работа с несколькими группами

Каждый пользователь может быть членом многих групп. Основная группа пользователей по умолчанию создается во время начальной настройки пользователя. По умолчанию каждый файл, созданный пользователем, принадлежит пользователю, а также основной группе пользователя. Это не всегда желательно; например, когда пользователь должен работать в директории, разделяемой группой, отличной от их основной группы. В этом случае пользователю необходимо изменить группы, используя одну из следующих команд: newgrp, которая запускает новую оболочку или sg, которая просто выполняет команду, используя предоставленную альтернативную группу. Эти команды также позволяют присоединиться к группе, к которой они в настоящее время не принадлежат. Если группа защищена паролем, им необходимо будет предоставить соответствующий пароль перед выполнением команды.

В качестве альтернативы, пользователь может установить setgid bit на директорию, что позволяет файлам, созданным в директории, автоматически принадлежать верной группе. Для получения большей информации, смотри заметку «директория setgid и sticky bit» [page 58].

Команда id отображает текущее состояние пользователя, его личный идентификатор (переменную uid), текущую основную группу (переменную gid) и список групп, к которым они принадлежат (переменная groups).

Report Page