Курс по сетевым технологиям
A A A

Теперь, когда мы знаем где и какая информация о пользователях хранится, мы сможем изучить какими командами пользоваться при создании и редактировании учетных записей.

 

Создание учетной записи

Чтобы добавить в систему нового пользователя выполним команду useradd [опции] имя_пользователя. 

Например, команда useradd new_user создаст следующее:

  • новую учетную запись new_user
  • новую группу new_user
  • домашний каталог /home/new_user
  • скопирует все файлы из каталога /etc/skel
  • добавит запись в файлы /etc/passwd и  /etc/shadow

 

Если есть желание, то все операции можно провести вручную без команды useradd. 

В некоторых дистрибутивах (Ubuntu, Mint, Kali) данная команда не выполняет все названные действия, поэтому лучше использовать другую команду - adduser [опции] имя_пользователя

 

Система установит диалог с пользователем, где пользователю надо лишь дать нужный ответ и все вышеназванные операции будут осуществлены. При выполнении команды adduser рекомендуется использовать опцию --force-badname: 

adduser  --force-badname имя_пользователя

Создание пользователя vladimir

Итак, пользователь создан. Взглянем на файлы /etc/passwd:

Запись о пользователе появилась в файле /etc/passwd 

 

и /etc/shadow:

Запись о пользователе vladimir в файле /etc/shadow

Когда аккаунт создается командой командой useradd необходимо еще создать пароль, иначе учетная запись будет не активна. Для этого применим команду: 

passwd [опции] имя_пользователя

 

Система попросит 2 раза ввести пароль:

Запрос на ввод пароля 

 

После этого аккаунт будет активен и готов к использованию.

 

А можно при создании новой учетной записи создать домашний каталог в совершенно другом месте? 

Конечно, для этого воспользуемся опцией -d или --home-dir и после нее укажем путь, где нужно создать каталог - useradd -d /usr/vasya vasya

 

А можно создать пользователя без домашнего каталога? 

И такое возможно c опцией -M или --no-create-home - useradd -M vasya 

При входе в систему его “якобы родным” каталогом будет /root.

 

С помощью команды useradd можно добавлять комментарии к аккаунту, устанавливать срок действия и другое. Делается это на момент создания учетной записи.

Чтобы узнать какие опции поддерживаются достаточно просто ввести команду useradd и введи ENTER. Система отобразит список опций:

Опции команды useradd

Подобный список можно получить для всех команд, которые мы рассмотрим далее. Следует знать, что при использовании одновременно нескольких опций их нельзя объединять между собой, как это можно в таких командах, как ls, cp, rm, mkdir и так далее. Необходимо сначала указать опцию затем аргумент, после этого указываем вторую опцию, потом аргумент к данной опции и так далее. 

Например, создадим учетную запись test, которая будет иметь домашний каталог в /media/test, аккаунт будет действителен до 1 января 2017 г. и не будет состоять ни в одной группе: 

useradd -d /media/test  -e 2017-01-01 -N test

 

 

Создание групп

В процессе работы возникает необходимость в создании определенных групп, обладающих различными правами и привилегиями. В этом уроке поговорим о создании и управлении группами. Права будем назначать в одном из следующих уроков. Для создания группы достаточно выполнить команду groupadd название_группы.

 

Например, создадим группу Class: groupadd Class.

После этого в файл /etc/group будет добавлена соответствующая запись:

Добавление записи о группе в файле /etc/group

Как видно в данной группе пока не состоит ни один пользователь. Чтобы пользователи могли сами добавляться в эту группу установим пароль: 

gpasswd Class

Установка пароля для группы Class

А как пользователи могут сами добавиться в группу? 

Для этого пользователю достаточно выполнить команду newgrp название_группы. 

Например, добавим нашего текущего пользователя student в группу Class. Однако, если взглянуть на файлы /etc/group и /etc/gshadow, то они почему-то не содержат никакой записи о том, что student входит в данную группу. Почему так? 

Дело в том, что команда newgrp в текущем сеансе меняет ID текущей группы данного пользователя на ID запрошенной группы, то есть пользователь становится временным челном группы и после перезагрузки системы все вернется в прежнее состояние. Чтобы убедиться в этом выполним команду id до команды newgrp и потом уже после ее выполнения. Данная команда выдаст нам UID и GID текущего пользователя. 

До выполнения newgrp Class:

Отображение UID и GID до выполнения команды newgrp

Теперь после выполнения newgrp Class:

Отображение UID и GID после выполнения команды newgrp

Как видно группа по умолчанию поменялась. Явление это временное, то есть существует только в оперативной памяти, поэтому в файлах нет никакой записи.

 

А как добавить пользователя в группу на постоянной основе? 

Есть 2 способа:

  • редактированием файлов /etc/group, /etc/gshadow
  • командами usermod и gpasswd (об этом немного позже)



Изменение параметров аккаунта

Иногда требуется поменять некоторые параметры учетных записей. Рассмотрим некоторые из них.

 

Добавление пользователя в группу: 

usermod -G имя_группы  имя_пользователя 

или 

usermod --groups имя_группы  имя_пользователя

 

Существует и другая команда: 

gpasswd -a имя_пользователя  имя_группы 

или 

gpasswd --add имя_пользователя  имя_группы

 


Удаление пользователя: 

userdel имя_пользователя 

При таком способе удаляется учетная запись, но сохраняется домашний каталог и почтовые файлы пользователя. Чтобы их тоже удалить используем опцию -r (--remove): 

userdel -r имя_пользователя

 

Иногда система не позволяет удалить аккаунт. В таких случая воспользуемся опций -f (--force): 

userdel -f  имя_пользователя



Изменение пароля: 

Пароль могут изменить администратор или сам пользователь. Если это делает администратор, то команда будет такой: 

passwd имя_пользователя 

Если это делает пользователь, то достаточно ввести passwd.

 

А можно удалить пароль и работать вообще без него? 

Вообще-то это немного проблематично, но возможно. В некоторых дистрибутивах (Ubuntu, Kalo, Mint) имеется специальная группа nopasswdlogin. Пользователи, состоящие в данной группе могут входить в систему, не имея пароля. Пароль можно удалить в самом файле, а также командой passwd -d имя_пользователя. 

Затем добавим пользователя в группу nopasswdlogin: 

usermod -aG nopasswdlogin имя_пользователя

 

В дистрибутивах Fedora, Centos это достигается следующими командами: 

passwd -d имя_пользователя 

passwd -u -f  имя_пользователя

 

Либо вручную удалим все знаки в поле пароля файла /etc/shadow. Аналогом команды passwd является команда chage.



Блокирование пользователя: 

Для блокировки пользователя воспользуемся опцией -L (--lock), для разблокировки -  -U (--unlock): 

usermod -L имя_пользователя

 

А как узнать, что пользователь заблокирован? 

Для этого указываем опцию -S (--status): 

passwd -S имя_пользователя

 

В различных дистрибутивах вывод команды может отличаться. Например, в Ubuntu, Mint, Kali это выглядит так:

Учетная запись не блокирована


Учетная запись блокирована

где P - означает, что учетная запись не заблокирована, L - учетная запись заблокирована.

 

 

Изменение параметров групп: 

Для изменения параметров группы используются команда groupmod [опции] имя_группы.  

Для удаления группы - groupdel [опции] имя_группы 

Для изменения пароля и других параметров - gpasswd [опции] имя_группы

 

 

Получение информации об аккаунтах и группах: 

Полезными будут следующие информативные команды: 

id - показывает UID, GID текущего пользователя 

groups - показывает в каких группах состоит текущий пользователь 

finger - краткая информация о пользователях (в некоторых дистрибутивах не установлена)

 

Итак, вот список команд, которые мы изучили: 

useradd имя_пользователя - создание нового пользователя

useradd -d домашний_каталог  имя_пользователя - создание нового пользователя с указанным домашним каталогом

useradd -M имя_пользователя - создание нового пользователя без домашнего каталога

useradd -e дата имя_пользователя - создание нового пользователя с ограниченным сроком действия

useradd -N имя_пользователя - создание нового пользователя, не принадлежащему ни одной группе

adduser --force-badname имя_пользователя - интерактивное создание пользователя

passwd имя_пользователя - смена пароля администратором

passwd - смена пароля текущим пользователем

groupadd имя_группы - создание новой группы

gpasswd имя_группы - смена пароля заданной группы

newgrp имя_группы - временное добавление текущего пользователя в группу

id - информация о UID и GID текущего пользователя

usermod -G имя_группы  имя_пользователя - добавление пользователя в группу

gpasswd -a имя_пользователя  имя_группы - добавление пользователя в группу

userdel имя_пользователя - удаление пользователя

userdel -r имя_пользователя - удаление пользователя вместе домашним каталогом

userdel -f  имя_пользователя - принудительное удаление пользователя

passwd -d имя_пользователя - удаление пароля заданного пользователя

usermod -L имя_пользователя - блокирование пользователя

usermod -U имя_пользователя - разблокирование пользователя

groupdel имя_группы - удаление группы

groupmod  - изменение параметров группы

groups - показывает список  групп, в которых состоит текущий пользователь

finger - персональная информация о текущем пользователе

 

 

Комментарии для сайта Cackle