В этой главе мы подробно обсудим администрирование пользователей в Unix.
В системе Unix есть три типа учетных записей:
Корневой аккаунт
Это также называется суперпользователем и будет иметь полный и беспрепятственный контроль над системой. Суперпользователь может выполнять любые команды без каких-либо ограничений. Этот пользователь должен считаться системным администратором.
Системные учетные записи
Системные учетные записи — это те, которые необходимы для работы системных компонентов, например почтовых учетных записей и учетных записей sshd . Эти учетные записи обычно необходимы для выполнения определенных функций в вашей системе, и любые их изменения могут отрицательно повлиять на систему.
Учетные записи пользователей
Учетные записи пользователей обеспечивают интерактивный доступ к системе для пользователей и групп пользователей. Обычные пользователи обычно назначаются этим учетным записям и обычно имеют ограниченный доступ к критическим системным файлам и каталогам.
Unix поддерживает концепцию групповой учетной записи, которая логически группирует несколько учетных записей. Каждая учетная запись будет частью другой учетной записи группы. Группа Unix играет важную роль в обработке прав доступа к файлам и управлении процессами.
Управление пользователями и группами
Существует четыре основных файла администрирования пользователей —
-
/ etc / passwd — хранит информацию об учетной записи пользователя и пароле. Этот файл содержит большую часть информации об учетных записях в системе Unix.
-
/ etc / shadow — содержит зашифрованный пароль соответствующей учетной записи. Не все системы поддерживают этот файл.
-
/ etc / group — этот файл содержит информацию о группе для каждой учетной записи.
-
/ etc / gshadow — этот файл содержит информацию об учетной записи защищенной группы.
/ etc / passwd — хранит информацию об учетной записи пользователя и пароле. Этот файл содержит большую часть информации об учетных записях в системе Unix.
/ etc / shadow — содержит зашифрованный пароль соответствующей учетной записи. Не все системы поддерживают этот файл.
/ etc / group — этот файл содержит информацию о группе для каждой учетной записи.
/ etc / gshadow — этот файл содержит информацию об учетной записи защищенной группы.
Проверьте все перечисленные выше файлы с помощью команды cat .
В следующей таблице перечислены команды, доступные в большинстве систем Unix для создания учетных записей и групп и управления ими.
Sr.No. | Команда и описание |
---|---|
1 |
useradd Добавляет учетные записи в систему |
2 |
usermod Изменяет атрибуты аккаунта |
3 |
userdel Удаляет аккаунты из системы |
4 |
GroupAdd Добавляет группы в систему |
5 |
groupmod Изменяет атрибуты группы |
6 |
groupdel Удаляет группы из системы |
useradd
Добавляет учетные записи в систему
usermod
Изменяет атрибуты аккаунта
userdel
Удаляет аккаунты из системы
GroupAdd
Добавляет группы в систему
groupmod
Изменяет атрибуты группы
groupdel
Удаляет группы из системы
Вы можете использовать справку Manpage, чтобы проверить полный синтаксис для каждой команды, упомянутой здесь.
Создать группу
Теперь мы поймем, как создать группу. Для этого нам необходимо создать группы перед созданием любой учетной записи, в противном случае мы можем использовать существующие группы в нашей системе. У нас есть все группы, перечисленные в файле / etc / groups .
Все группы по умолчанию являются группами, специфичными для системных учетных записей, и их не рекомендуется использовать для обычных учетных записей. Итак, следующий синтаксис для создания новой учетной записи группы —
groupadd [-g gid [-o]] [-r] [-f] groupname
В следующей таблице перечислены параметры —
Sr.No. | Вариант и описание |
---|---|
1 |
-G GID Числовое значение идентификатора группы |
2 |
-о Эта опция позволяет добавить группу с неуникальным GID |
3 |
-р Этот флаг указывает groupadd добавить системную учетную запись |
4 |
-f Эта опция заставляет просто выйти с успешным статусом, если указанная группа уже существует. С помощью -g, если указанный GID уже существует, выбирается другой (уникальный) GID |
5 |
имя группы Фактическое имя группы, которая будет создана |
-G GID
Числовое значение идентификатора группы
-о
Эта опция позволяет добавить группу с неуникальным GID
-р
Этот флаг указывает groupadd добавить системную учетную запись
-f
Эта опция заставляет просто выйти с успешным статусом, если указанная группа уже существует. С помощью -g, если указанный GID уже существует, выбирается другой (уникальный) GID
имя группы
Фактическое имя группы, которая будет создана
Если вы не укажете какой-либо параметр, система использует значения по умолчанию.
В следующем примере создается группа разработчиков со значениями по умолчанию, что очень приемлемо для большинства администраторов.
$ groupadd developers
Изменить группу
Чтобы изменить группу, используйте синтаксис groupmod —
$ groupmod -n new_modified_group_name old_group_name
Чтобы изменить имя группы developers_2 на developer, введите —
$ groupmod -n developer developer_2
Вот как вы измените финансовый GID на 545 —
$ groupmod -g 545 developer
Удалить группу
Теперь мы поймем, как удалить группу. Чтобы удалить существующую группу, все, что вам нужно, это команда groupdel и имя группы . Чтобы удалить финансовую группу, введите команду —
$ groupdel developer
Это удаляет только группу, а не файлы, связанные с этой группой. Файлы по-прежнему доступны их владельцам.
Завести аккаунт
Давайте посмотрим, как создать новую учетную запись в вашей системе Unix. Ниже приведен синтаксис для создания учетной записи пользователя.
useradd -d homedir -g groupname -m -s shell -u userid accountname
В следующей таблице перечислены параметры —
Sr.No. | Вариант и описание |
---|---|
1 |
-d Homedir Указывает домашний каталог для учетной записи |
2 |
-g имя группы Указывает групповую учетную запись для этой учетной записи |
3 |
-m Создает домашний каталог, если он не существует |
4 |
оболочка Определяет оболочку по умолчанию для этой учетной записи |
5 |
-u идентификатор пользователя Вы можете указать идентификатор пользователя для этой учетной записи |
6 |
имя пользователя Фактическое имя учетной записи, которая будет создана |
-d Homedir
Указывает домашний каталог для учетной записи
-g имя группы
Указывает групповую учетную запись для этой учетной записи
-m
Создает домашний каталог, если он не существует
оболочка
Определяет оболочку по умолчанию для этой учетной записи
-u идентификатор пользователя
Вы можете указать идентификатор пользователя для этой учетной записи
имя пользователя
Фактическое имя учетной записи, которая будет создана
Если вы не укажете какой-либо параметр, система использует значения по умолчанию. Команда useradd изменяет файлы / etc / passwd , / etc / shadow и / etc / group и создает домашний каталог.
Ниже приведен пример создания учетной записи mcmohd с установкой его домашнего каталога на / home / mcmohd и группы в качестве разработчиков . Этому пользователю будет назначен Korn Shell.
$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd
Перед выполнением вышеуказанной команды убедитесь, что у вас уже есть группа разработчиков, созданная с помощью команды groupadd .
После создания учетной записи вы можете установить ее пароль с помощью команды passwd следующим образом:
$ passwd mcmohd20 Changing password for user mcmohd20. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
Когда вы вводите имя учетной записи passwd , вы можете изменить пароль, если вы являетесь суперпользователем. В противном случае вы можете изменить только свой пароль, используя ту же команду, но без указания имени вашей учетной записи.
Изменить аккаунт
Команда usermod позволяет вносить изменения в существующую учетную запись из командной строки. Он использует те же аргументы, что и команда useradd , плюс аргумент -l, который позволяет изменить имя учетной записи.
Например, чтобы изменить имя учетной записи mcmohd на mcmohd20 и соответственно изменить домашний каталог, вам нужно будет выполнить следующую команду —
$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20
Удалить аккаунт
Команда userdel может использоваться для удаления существующего пользователя. Это очень опасная команда, если ее не использовать с осторожностью.
Для команды .r доступен только один аргумент или опция для удаления домашнего каталога учетной записи и почтового файла.
Например, чтобы удалить учетную запись mcmohd20 , введите следующую команду —
$ userdel -r mcmohd20
Если вы хотите сохранить домашний каталог для резервного копирования, опустите опцию -r . Вы можете удалить домашний каталог по мере необходимости позже.