Введение
Управление пользователями является фундаментальным аспектом администрирования системы Linux. Независимо от того, настраиваете ли вы личный компьютер, управляете сервером или работаете в многопользовательской среде, понимание того, как создавать, изменять и управлять учетными записями пользователей, является обязательным.
В этом практическом занятии (LabEx) вы научитесь использовать команду usermod для изменения атрибутов пользователя, таких как имя пользователя, домашний каталог и принадлежность к группам. Вы получите практический опыт работы с ключевыми командами, используемыми для администрирования пользователей в Linux, что даст вам навыки, необходимые для эффективного управления учетными записями пользователей в любой среде Linux.
Создание и переименование пользователя
В этом шаге вы создадите нового пользователя и узнаете, как его переименовать. Это обычная задача, когда пользователи меняют роли или когда вам нужно стандартизировать имена пользователей в вашей системе.
Сначала откройте свой терминал. Вы должны находиться в каталоге ~/project. Начнем с создания нового пользователя с именем temporaryuser:
sudo useradd temporaryuser
Эта команда создает новую учетную запись пользователя в системе. По умолчанию useradd не создает домашний каталог и не устанавливает пароль.
Теперь давайте проверим, был ли пользователь успешно создан:
grep temporaryuser /etc/passwd
Вы должны увидеть запись для temporaryuser в выводе, подтверждающую, что пользователь был создан.
Далее мы переименуем этого пользователя с temporaryuser на permanentuser с помощью команды usermod:
sudo usermod -l permanentuser temporaryuser
Опция -l указывает, что мы хотим изменить имя входа (login name). После выполнения этой команды пользователь, ранее известный как temporaryuser, теперь будет известен как permanentuser.
Давайте убедимся, что имя пользователя было изменено:
grep permanentuser /etc/passwd
Вы должны увидеть запись пользователя с новым именем permanentuser.
Теперь давайте создадим и назначим домашний каталог для этого пользователя:
sudo usermod -d /home/permanentuser -m permanentuser
В этой команде:
-dуказывает новый путь к домашнему каталогу-mсоздает новый домашний каталог, если он не существует, или перемещает содержимое из старого домашнего каталога в новый, если оба существуют
Давайте убедимся, что домашний каталог был создан:
ls -ld /home/permanentuser
Вы должны увидеть вновь созданный домашний каталог для permanentuser.
Добавление пользователя в группы
В Linux группы используются для организации пользователей и управления правами доступа. Добавление пользователя в определенные группы - это важный способ предоставить ему доступ к определенным ресурсам или функционалу.
Сначала проверим, к каким группам сейчас принадлежит наш пользователь:
groups permanentuser
По умолчанию, когда вы создаете пользователя с помощью команды useradd, пользователю назначается основная группа с тем же именем, что и имя пользователя.
Теперь проверим, существует ли группа sudo в вашей системе:
grep sudo /etc/group
Вы должны увидеть запись для группы sudo. Эта специальная группа позволяет ее членам выполнять команды с привилегиями суперпользователя с помощью команды sudo.
Добавим нашего пользователя в группу sudo:
sudo usermod -aG sudo permanentuser
В этой команде:
-aозначает "добавить", что гарантирует, что мы добавляем пользователя в группу, не удаляя его из других групп-Gуказывает на группу(-ы), в которую(-ые) должен быть добавлен пользовательsudo- это имя группыpermanentuser- это пользователь, которого мы изменяем
Проверим, что пользователь был добавлен в группу sudo:
groups permanentuser
В выводе теперь должен быть список групп, включающий sudo.
Вы также можете проверить принадлежность к группе, посмотрев в файл /etc/group:
grep sudo /etc/group
В выводе должен быть список членов группы sudo, включающий permanentuser.
Изменение оболочки пользователя
Каждый пользователь в Linux имеет стандартную оболочку (shell), которая определяет интерфейс командной строки, используемый им при входе в систему. На этом этапе вы узнаете, как изменить оболочку входа пользователя.
Сначала проверим текущую оболочку, назначенную нашему пользователю:
grep permanentuser /etc/passwd
Посмотрите на последнее поле в выводе. Оно должно показать текущую оболочку, которая обычно /bin/sh для пользователей, созданных с помощью useradd без дополнительных параметров.
Теперь изменим оболочку на Bash, которая является более функциональной оболочкой:
sudo usermod -s /bin/bash permanentuser
Опция -s указывает новую оболочку входа для пользователя.
Проверим, что оболочка была изменена:
grep permanentuser /etc/passwd
В конце строки теперь должно быть указано /bin/bash как оболочка для permanentuser.
Различные оболочки предоставляют разные функции и пользовательские опыты. Bash является одной из самых популярных оболочек, так как предлагает такие продвинутые функции, как:
- Автодополнение команд
- Навигация по истории команд
- Настраиваемые приглашения командной строки
- Возможности скриптинга с функциями и структурами управления
Другие распространенные оболочки в Linux включают:
/bin/sh- Bourne Shell, базовая оболочка/bin/zsh- Z Shell, с дополнительными функциями по сравнению с Bash/bin/dash- Debian Almquist Shell, легковесная оболочка
Пользователи могут переключаться между установленными оболочками во время своей сессии с помощью команды chsh, а администраторы могут изменить стандартную оболочку пользователя с помощью usermod, как мы только что сделали.
Установка даты истечения срока действия учетной записи и просмотр информации о пользователе
Системные администраторы часто должны создавать временные учетные записи или обеспечивать периодический аудит учетных записей. На этом этапе вы узнаете, как установить дату истечения срока действия учетной записи и просмотреть полную информацию о пользователе.
Установка даты истечения срока действия учетной записи
Установим дату истечения срока действия для учетной записи permanentuser. Это полезно для временных пользователей или подрядчиков, которые должны иметь доступ только в определенный период.
sudo usermod -e 2023-12-31 permanentuser
Опция -e устанавливает дату истечения срока действия в формате ГГГГ-ММ-ДД. После этой даты учетная запись будет автоматически отключена.
Чтобы проверить, что дата истечения срока действия была установлена:
sudo chage -l permanentuser
Команда chage -l отображает информацию о сроке действия учетной записи. В выводе будет строка "Account expires", показывающая дату, которую вы только что установили.
Просмотр подробной информации о пользователе
В Linux есть несколько команд для просмотра информации о пользователях. Исследуем их:
- Проверка идентификатора пользователя, идентификатора группы и принадлежности к группам:
id permanentuser
Эта команда показывает числовой идентификатор пользователя (UID), идентификатор основной группы (GID) и все группы, к которым принадлежит пользователь.
- Просмотр статуса пароля и информации о сроке действия:
sudo passwd -S permanentuser
Эта команда показывает статус пароля (заблокирован, истек срок действия и т.д.) и дату последнего изменения.
- Просмотр всех пользователей в системе:
cat /etc/passwd | grep -v nologin | grep -v false
Эта команда фильтрует файл паролей, чтобы показать только пользователей, которые могут войти в систему (исключая системных пользователей).
- Просмотр всех групп в системе:
cat /etc/group
Это показывает все группы, определенные в системе, включая системные группы и группы пользователей.
Понимание того, как эффективно получать информацию о пользователях, является важным для системного администрирования и устранения проблем с доступом пользователей.
Резюме
В этом практическом занятии вы узнали основные задачи по управлению пользователями в Linux:
- Создание пользователя и переименование его с помощью команды
usermod -l - Настройка домашней директории для пользователя с помощью
usermod -d -m - Добавление пользователя в дополнительные группы с помощью
usermod -aG - Изменение оболочки входа пользователя с помощью
usermod -s - Установка дат истечения срока действия учетных записей с помощью
usermod -e - Просмотр информации о пользователях с помощью команд, таких как
id,chage, и изучение системных файлов
Эти навыки управления пользователями являются фундаментальными для любого администратора Linux. Команда usermod предоставляет универсальный набор инструментов для изменения атрибутов пользователей без необходимости удаления и пересоздания учетных записей.
Освоив эти команды, вы сможете эффективно управлять учетными записями пользователей в любой среде Linux, будь то рабочая станция для одного пользователя, сервер для нескольких пользователей или корпоративная среда с большим количеством пользователей, которым требуется различный уровень доступа.



