- Пользователи и группы
- Параметры создания пользователя по умолчанию
- Изменение пользователя
- Изменение пароля
- Установка пустого пароля пользователя
- Получение информации о пользователях
- Удаление пользователя
- Управление группами
- Создание группы
- Изменение группы
- Удаление группы
- Файлы конфигурации
- /etc/passwd
- /etc/group
- /etc/shadow
- Управление пользователями и группами через GUI
- Установка
- Управление группами
- Создать домашний каталог для существующего пользователя в Linux
Пользователи и группы
Добавление пользователя осуществляется при помощи команды useradd . Пример использоания:
Эта команда создаст в системе нового пользователя vasyapupkin. Чтобы изменить настройки создаваемого пользователя, вы можете использовать следующие ключи:
Ключ | Описание |
---|---|
-b | Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home |
-с | Комментарий. В нем вы можете напечатать любой текст. |
-d | Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя. |
-e | Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено. |
-f | Количество дней, которые должны пройти после устаревания пароля до блокировки пользователя, если пароль не будет изменен (период неактивности). Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 — не блокируется. По умолчанию -1. |
-g | Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя. |
-G | Список вторичных групп в которых будет находится создаваемый пользователь |
-k | Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel. |
-m | Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается. |
-p | Зашифрованный пароль пользователя. По умолчанию пароль не задается, но учетная пользователь будет заблокирован до установки пароля |
-s | Оболочка, используемая пользователем. По умолчанию /bin/sh. |
-u | Вручную задать UID пользователю. |
Параметры создания пользователя по умолчанию
Если при создании пользователя не указываются дополнительные ключи, то берутся настройки по умолчанию. Эти настройки вы можете посмотреть выполнив
Результат будет примерно следующий:
GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no
Если вас не устраивают такие настройки, вы можете поменять их выполнив
где -s это ключ из таблицы выше.
Изменение пользователя
Изменение параметров пользователя происходит с помощью утилиты usermod . Пример использования:
sudo usermod -c "Эта команда поменяет комментарий пользователю" vasyapupkin
usermod использует те же опции, что и useradd.
Изменение пароля
Изменить пароль пользователю можно при помощи утилиты 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 – вывод информации (имя пользователя, рабочий терминал, время входа в систему) о всех вошедших в систему пользователях.
id имя_пользователя – вывод о идентификаторах пользователя: его uid, имя_пользователя, gid и имя первичной группы и список групп в которых состоит пользователь
Удаление пользователя
Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel . Пример использования:
userdel имеет всего два основных ключа:
Ключ | Описание |
---|---|
-f | Принудительно удалить пользователя, даже если он сейчас работает в системе. |
-r | Удалить домашний каталог пользователя. |
Управление группами
Создание группы
Программа groupadd создаёт новую группу согласно указанным значениям командной строки и системным значениям по умолчанию. Пример использования:
Изменение группы
Сменить название группы, ее GID или пароль можно при помощи groupmod . Пример:
sudo groupmod -n newtestgroup testgroup #Имя группы изменено с testgroup на newtestgroup
Удаление группы
Удаление группы происходит так:
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
Управление группами
Для добавления, удаления групп, а также добавления\удаления пользователей в\из конкретных групп, необходимо в главном окне нажать кнопку «Управление группами», после чего вы увидите окно, отображающее все присутствующие в системе группы: в котором выбрав нужную группу и нажав «Свойства» можно отметить галочкой пользователей, которых необходимо внести в группу.
Создать домашний каталог для существующего пользователя в Linux
В этом кратком руководстве объясняется, как создать домашний каталог для существующего пользователя в Linux и Unix-подобных операционных системах с помощью команды mkhomedir_helper .
Как вы уже знаете, мы можем создать нового пользователя в Linux и Unix-подобных системах с помощью команды adduser , верно? Да все верно! Когда мы добавляем нового пользователя, по умолчанию автоматически создается домашний каталог для соответствующего пользователя.
Есть еще одна команда для создания пользователей в Linux. Это так useradd . После того, как я создал несколько пользователей с помощью команды useradd в Alpine Linux, я заметил, что каталоги $HOME для пользователей не создаются. Я не знал этого раньше. Прочитав справочные страницы команды useradd , я понял, что мне следовало включить -m (или —create-home ) опцию для создания новых пользователей в каталоге $HOME , как показано ниже:
$ sudo useradd --create-home user_name
Но я забыл включить эту опцию и создал несколько новых пользователей. Если вы похожи на меня, не удаляйте существующих пользователей и создавайте их заново с помощью опции -m . Вы можете легко создать домашний каталог для существующего пользователя в Linux с помощью команды mkhomedir_helper , не удаляя и не воссоздавая пользователя.
mkhomedir_helper вспомогательная программа для модуля pam_mkhomedir . Модуль pam_mkhomedir PAM создаст домашний каталог пользователя, если он не существует в начале сеанса. Сначала этот модуль создает домашние каталоги, а затем заполняет их содержимым указанного каталога skel. Значение по умолчанию umask — это 0022, а значение по умолчанию для пути к skel — /etc/skel.
Позвольте мне показать вам пример, чтобы объяснить, как создать домашний каталог для существующего пользователя с помощью mkhomedir_helper.
Во-первых, давайте создадим нового пользователя с именем ostechnix, используя команду useradd :
Установите пароль для пользователя:
Теперь переключитесь на нового пользователя:
Вы увидите следующее сообщение об ошибке:
su: warning: cannot change directory to /home/ostechnix: No such file or directory
Как видно из вышеприведенного вывода, домашний каталог для пользователя ostechnix не существует, отсюда и эта ошибка.
Давайте проверим это, заглянув в /homeкаталог:
$ ls -l /home/ total 0 drwx------ 1 vagrant vagrant 72 Dec 15 13:19 vagrant
Что ж, это правда, что у пользователя ostechnix нет домашнего каталога.
Итак, давайте создадим домашний каталог для существующего пользователя (то есть ostechnix в нашем случае) с помощью команды mkhomedir_helper .
Для этого сначала выйдите из системы пользователя ostechnix, если вы уже вошли в систему:
И выполните следующую команду, чтобы создать домашний каталог для пользователя с именем ostechnix :
$ sudo mkhomedir_helper ostechnix
Обратите внимание, что вы должны выполнить указанную выше команду как root пользователь или другой sudo пользователь.
Теперь переключитесь на пользователя ostechnix:
На этот раз вы не получите никакого предупреждающего сообщения, потому что домашний каталог для пользователя с именем ostechnix был создан с помощью команды mkhomedir_helper .
[ostechnix@archlinux ~]$ pwd /home/ostechnix
Для получения дополнительных сведений см. справочные страницы:
Теперь вы знаете, как создавать домашние каталоги после создания пользователей. Это может быть полезно, если вы забыли включить -m параметр при создании пользователей с помощью команды useradd.
Вместо использования useradd вы можете использовать adduser команду, которая автоматически создаст домашние каталоги пользователей без каких-либо параметров.
Насколько публикация полезна?
Нажмите на звезду, чтобы оценить!
Средняя оценка / 5. Количество оценок:
Оценок пока нет. Поставьте оценку первым.