Управление пользователями
Добавление пользователя
Добавление пользователя осуществляется при помощи команды useradd. Пример использоания:
sudo useradd vasyapupkin
Эта команда создаст в системе нового пользователя vasyapupkin. Чтобы изменить настройки создаваемого пользователя, вы можете использовать следующие ключи:
Ключ |
Описание |
-b |
Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home |
-с |
Комментарий. В нем вы можете напечатать любой текст. |
-d |
Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя. |
-e |
Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено. |
-f |
Количество дней, которые должны пройти после устаревания пароля до блокировки пользователя, если пароль не будет изменен (период неактивности). Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 - не блокируется. По умолчанию -1. |
-g |
Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя. |
-G |
Список вторичных групп в которых будет находится создаваемый пользователь |
-k |
Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel. |
-m |
Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается. |
-p |
Зашифрованный пароль пользователя. По умолчанию пароль не задается, но учетная пользователь будет заблокирован до установки пароля |
-s |
Оболочка, используемая пользователем. По умолчанию /bin/sh. |
-u |
Вручную задать UID пользователю. |
Параметры создания пользователя по умолчанию
Если при создании пользователя не указываются дополнительные ключи, то берутся настройки по умолчанию. Эти настройки вы можете посмотреть выполнив
useradd -D
Результат будет примерно следующий:
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
Если вас не устраивают такие настройки, вы можете поменять их выполнив
sudo useradd -D -s /bin/bash
где -s это ключ из таблицы выше.
Таким образом могут быть заданы параметры, определяемые только ключами: -b -e -f -g -s
Изменение пользователя
Изменение параметров пользователя происходит с помощью утилиты usermod. Пример использования:
sudo usermod -c "Эта команда поменяет комментарий пользователю" vasyapupkin
usermod использует те же опции, что и useradd.
Изменение пароля
Изменить пароль пользователю можно при помощи утилиты passwd.
sudo passwd vasyapupkin
passwd может использоваться и обычным пользователем для смены пароля. Для этого пользователю надо ввести
passwd
и ввести старый и новый пароли.
Основные ключи passwd:
Ключ |
Описание |
-d |
Удалить пароль пользователю. После этого пароль будет пустым, и пользователь сможет входить в систему без предъявления пароля. |
-e |
Сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему. |
-i |
Заблокировать учетную запись пользователя по прошествии указанного количества дней после устаревания пароля. |
-n |
Минимальное количество дней между сменами пароля. |
-x |
Максимальное количество дней, после которого необходимо обязательно сменить пароль. |
-l |
Заблокировать учетную запись пользователя. |
-u |
Разблокировать учетную запись пользователя. |
Установка пустого пароля пользователя
Супер пользователь с помощью утилит командной строки passwd и usermod или путем редактирования файла /etc/shadow может удалить пароль пользователь, дав возможность входить в систему без указания пароля.
sudo passwd -d vasyapupkin
или
sudo usermod -p "" vasyapupkin
Если учетная запись пользователя в этот момент была заблокирована командой passwd -l, то указанные выше команды так же снимут эту блокировку
Установка пустого пароля может быть полезна как временное решение проблемы в ситуации, когда пользователь забыл свой пароль или не может его ввести из-за проблем с раскладкой клавиатуры. После этого имеет смысл принудить пользователя установить себе новый пароль при следующем входе в систему
sudo passwd -e vasyapupkin
Получение информации о пользователях
- w – вывод информации (имя пользователя, рабочий терминал, время входа в систему, информацию о потребленных ресурсах CPU и имя запущенной программы) о всех вошедших в систему пользователях.
- who – вывод информации (имя пользователя, рабочий терминал, время входа в систему) о всех вошедших в систему пользователях.
- who am i или whoami или id – вывод вашего имени пользователя.
- users – вывод имен пользователей, работающих в системе.
- id имя_пользователя – вывод о идентификаторах пользователя: его uid, имя_пользователя, gid и имя первичной группы и список групп в которых состоит пользователь
- groups имя_пользователя – вывод списка групп в которых состоит пользователь.
Удаление пользователя
Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel. Пример использования:
sudo userdel vasyapupkin
userdel имеет всего два основных ключа:
Ключ |
Описание |
-f |
Принудительно удалить пользователя, даже если он сейчас работает в системе. |
-r |
Удалить домашний каталог пользователя. |
Управление группами
Создание группы
Программа groupadd создаёт новую группу согласно указанным значениям командной строки и системным значениям по умолчанию. Пример использования:
sudo groupadd testgroup
Основные ключи:
Ключ |
Описание |
-g |
Установить собственный GID. |
-p |
Пароль группы. |
-r |
Создать системную группу. |
Изменение группы
Сменить название группы, ее GID или пароль можно при помощи groupmod. Пример:
sudo groupmod -n newtestgroup testgroup #Имя группы изменено с testgroup на newtestgroup
Опции groupmod:
Ключ |
Описание |
-g |
Установить другой GID. |
-n |
Новое имя группы. |
-p |
Изменить пароль группы. |
Удаление группы
Удаление группы происходит так:
sudo groupdel testgroup
groupdel не имеет никаких дополнительных параметров.
Файлы конфигурации
Изменять параметры пользователей и групп можно не только при помощи специальных утилит, но и вручную. Все настройки хранятся в текстовых файлах. Описание каждого из них приведено ниже.
/etc/passwd
В файле /etc/passwd хранится вся информация о пользователях кроме пароля. Одна строка из этого файла соответствует описанию одного пользователя. Примерное содержание строки таково:
vasyapupkin:x:1000:1000:Vasya Pupkin:/home/vpupkin:/bin/bash
Строка состоит из нескольких полей, каждое из которых отделено от другого двоеточием. Значение каждого поля приведено в таблице.
№ |
Поле |
Описание |
1 |
vasyapupkin |
Имя пользователя для входа в систему. |
2 |
x |
Необязательный зашифрованный пароль. |
3 |
1000 |
Числовой идентификатор пользователя (UID). |
4 |
1000 |
Числовой идентификатор группы (GID). |
5 |
Vasya Pupkin |
Поле комментария |
6 |
/home/vpupkin |
Домашний каталог пользователя. |
7 |
/bin/bash |
Оболочка пользователя. |
Второе и последнее поля необязательные и могут не иметь значения.
/etc/group
В /etc/group, как очевидно из названия хранится информация о группах. Она записана в аналогичном /etc/passwd виде:
vasyapupkin:x:1000:vasyapupkin,petya
№ |
Поле |
Описание |
1 |
vasyapupkin |
Название группы |
2 |
x |
Необязательный зашифрованный пароль. |
3 |
1000 |
Числовой идентификатор группы (GID). |
4 |
vasyapupkin,petya |
Список пользователей, находящихся в группе. |
В этом файле второе и четвертое поля могут быть пустыми.
/etc/shadow
Файл /etc/shadow хранит в себе пароли, по этому права, установленные на этот файл, не дают считать его простому пользователю. Пример одной из записей из этого файла:
vasyapupkin:$6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0:15803:0:99999:7:::
Здесь:
№ |
Поле |
Описание |
1 |
vasyapupkin |
Имя пользователя для входа в систему. |
2 |
$6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0 |
Необязательный зашифрованный пароль. |
3 |
15803 |
Дата последней смены пароля. |
4 |
0 |
Минимальный срок действия пароля. |
5 |
99999 |
Максимальный срок действия пароля. |
6 |
7 |
Период предупреждения о пароле. |
7 |
Период неактивности пароля. |
9 |
Дата истечения срока действия учётной записи. |
Управление пользователями и группами через GUI
В текущей версии Ubuntu отсутствует штатная утилита управления группами пользователей системы, поэтому по умолчанию все действия с группами необходимо выполнять в консоли. Однако для этих целей существует специальная утилита «Пользователи и группы».
Установка
Пакет gnome-system-tools находится в репозитории Ubuntu, поэтому ставится одной командой:
sudo apt-get install gnome-system-tools
Управление группами
Для добавления, удаления групп, а также добавления\удаления пользователей в\из конкретных групп, необходимо в главном окне нажать кнопку «Управление группами», после чего вы увидите окно, отображающее все присутствующие в системе группы:в котором выбрав нужную группу и нажав «Свойства» можно отметить галочкой пользователей, которых необходимо внести в группу.