- Удаление доменного пользователя linux
- NAME
- СИНТАКСИС
- ОПИСАНИЕ
- ПАРАМЕТРЫ
- ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
- ФАЙЛЫ
- СМОТРИТЕ ТАКЖЕ
- АВТОРСКОЕ ПРАВО
- Работа с пользователями в Linux
- Получение информации о пользователях
- Создание
- Ключи (опции)
- Редактирование
- Удаление
- Блокировка
- Работа с группами
- Список пользователей
- Примеры работы с учетными записями
- useradd
- usermod
- chage
- Возможные ошибки
- sudo must be owned by uid 0 and have the setuid bit set
Удаление доменного пользователя linux
NAME
deluser, delgroup - удаляют пользователя или группу из системы
СИНТАКСИС
deluser [параметры] [--force] [--remove-home] [--remove-all-files] [--backup] [--backup-to КАТ] пользователь deluser --group [параметры] группа delgroup [параметры] [--only-if-empty] группа deluser [параметры] пользователь группа ОБЩИЕ ПАРАМЕТРЫ [--quiet] [--system] [--help] [--version] [--conf ФАЙЛ]
ОПИСАНИЕ
deluser и delgroup удаляют пользователей и группы из системы, исходя из параметров, заданных в командной строке и информации из файла /etc/deluser.conf. Они являются дружественными интерфейсами к программам userdel и groupdel, удаляют домашний каталог или даже все файлы из системы, принадлежащие пользователю, запускают определённый сценарий и обладают другими возможностями. deluser и delgroup могут быть запущены в одном из трёх режимов: Удаление обычного пользователя При запуске с параметром, не имеющим аргументов и без параметра --group, deluser удалит обычного пользователя. По умолчанию, deluser удаляет пользователя без уничтожения домашнего каталога, почтового ящика или всех файлов системы, принадлежащих данному пользователю. Чтобы домашний каталог и почтовый ящик удалялся, можно указать параметр --remove-home. С параметром --remove-all-files удаляются все файл в системе, принадлежащие данному пользователю. Заметим, что в этом случае указывать параметр --remove-home необязательно, так как все файлы, включая домашний каталог и почтовый ящик уже помечены на удаление параметром --remove-all-files. Если вы хотите сделать резервную копию всех файлов перед их удалением, то вы можете указать параметр --backup, при котором будет создан файл имя_пользователя.tar(.gz|.bz2), в каталоге, заданном параметром --backup-to (по умолчанию используется текущий рабочий каталог). Параметры удаления и резервного копирования также можно задать как действия по умолчанию в файле настройки /etc/deluser.conf. Подробней смотрите deluser.conf(5). Если вы хотите удалить учётную запись root (uid 0), воспользуйтесь параметром --force; его указание подтверждает, что удаление пользователя root не является случайной ошибкой. Если файл /usr/local/sbin/deluser.local существует, то он будет выполнен после удаления учётной записи пользователя, чтобы выполнить все локальные очистки. Аргументы, передаваемые deluser.local: имя_пользователя uid gid домашний_каталог Удалить группу Если deluser вызывается с параметром --group, или вызывается как delgroup, то выполняется удаление группы. Предупреждение: Первичная группа существующего пользователя не может быть удалена. Если задан параметр --only-if-empty, удаление группы не произойдёт, если в неё входят пользователи. Удаление пользователя из определённой группы При запуске с двумя параметрами без аргументов, deluser удаляет пользователя из указанной группы.
ПАРАМЕТРЫ
--conf ФАЙЛ Использовать ФАЙЛ вместо файлов по умолчанию /etc/deluser.conf и /etc/adduser.conf --group Удалить группу. Это является действием по умолчанию, если программа вызывается как delgroup. --help Показать краткую инструкцию. --quiet Не выводить сообщения о ходе работы. --system Выполнить удаление, только если пользователь/группа являются системными. Это помогает избежать случайного удаления не системной группы/пользователя. Также, если пользователь не существует, то значение ошибки не возвращается. Этот параметр чаще всего используется в сценариях сопровождения пакетов Debian. --backup Выполнить резервное копирования всех файлов домашнего каталога и хранилище почты (mailspool-file) в файл с именем /$user.tar.bz2 или /$user.tar.gz. --backup-to Помещать файлы резервных копий не в /, а в каталог, заданный этим параметром. Подразумевает также задание параметра --backup. --remove-home Удалить домашний каталог пользователя и его хранилище почты. Если указан --backup, то файлы будут удалены после создания резервной копии. --remove-all-files Удалить все файлы из системы, принадлежащие этому пользователю. Замечание: указание --remove-home не имеет смысла. Если указан --backup, то файлы будут удалены после создания резервной копии. --version Показать номер версии и информацию об авторском праве.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
0 Действие успешно выполнено. 1 Удаляемый пользователь не является системным. Действие не выполнено. 2 Пользователь не существует. Действие не выполнено. 3 Группа не существует. Действие не выполнено. 4 Внутренняя ошибка. Действие не выполнено. 5 Удаляемая группа не пуста. Действие не выполнено. 6 Пользователь не принадлежит указанной группе. Действие не выполнено. 7 Нельзя удалить пользователя из его первичной группы. Действие не выполнено. 8 Требуемый perl-пакет 'perl modules' не установлен. Этот пакет требуется для выполнения некоторых действий. Действие не выполнено. 9 Для удаления учётной записи root требуется указание параметра "--force". Действие не было выполнено.
ФАЙЛЫ
СМОТРИТЕ ТАКЖЕ
deluser.conf(5), adduser(8), userdel(8), groupdel(8)
АВТОРСКОЕ ПРАВО
Copyright (C) 2000 Roland Bauerschmidt. Изменения (C) 2004 Marc Haber. и Joerg Hoh. Эта справочная страница и программа deluser основаны на adduser, которая: Copyright (C) 1997, 1998, 1999 Guy Maor. Copyright (C) 1995 Ted Hajek, с большими заимствованиями из оригинального Debian adduser Copyright (C) 1994 Ian Murdock. deluser это свободное ПО; смотрите условия копирования в Универсальной Общественной Лицензии GNU версии 2 или более новой. Не предоставляется никаких гарантий.
© 2019 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd.
Работа с пользователями в Linux
Обновлено: 20.04.2023 Опубликовано: 05.12.2016
В данной инструкции рассказывается о работе с пользователями Linux через терминал (с применением командной строки).
Получение информации о пользователях
1. Список пользователей можно посмотреть в файле /etc/passwd командой:
Данная команда вернет всех пользователей, в том числе служебных. Для отображения только учетных записей пользователей можно ввести команду:
2. Проверить существование пользователя и увидеть его идентификатор можно с помощью команды id:
Мы должны увидеть что-то на подобие:
uid=1001(username) gid=1001(username) groups=1001(username),27(sudo)
* учетная запись username существует, она находится в основной группе username и дополнительной sudo. Ее идентификатор 1001.
3. Также мы можем получить строку о пользователе из файла /etc/passwd:
* наш пользовател username имеют идентификатор пользователя и группы 1001, его домашняя директория /home/username, командная оболочка /bin/sh.
Создание
* опции не являются обязательными при создании пользователя.
* в данном примере создается учетная запись dmosk.
Для учетной записи стоит сразу создать пароль:
* после ввода, система попросит ввести пароль дважды.
Ключи (опции)
Ключ | Описание и примеры |
---|---|
-b | Задает базовый каталог для домашнего каталога useradd dmosk -b /var/home |
-c | Создает комментарий для описания учетной записи useradd dmosk -c «Пользователя для управления системой» |
-d | Полный путь к домашнему каталогу пользователя useradd dmosk -d /home/newuser |
-D | Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователей useradd dmosk -Ds /bin/bash |
-e | Дата, после которой учетная запись устареет. useradd dmosk -e 2017-12-31 |
-f | Число дней, после которого учетная запись с устаревшим паролем будет заблокирована useradd dmosk -f 0 |
-g | Задает основную группу useradd dmosk -g altternativegroup |
-G | Задает дополнительные группы useradd dmosk -G wheel |
-k | Путь к источнику скелета (файлы с шаблонами для нового пользователя) useradd dmosk -k /var/skel |
-m | При создании пользователя создать домашний каталог useradd dmosk -m |
-M | Не создавать домашний каталог useradd dmosk -M |
-N | Не создавать основную группу с таким же именем, как у пользователя useradd dmosk -N |
-o | Разрешает создание учетной записи с повторяющимся UID useradd dmosk -u 15 -o |
-p | Задает пароль useradd dmosk -p pass |
-r | Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN — SYS_UID_MAX из файла /etc/login.defs) useradd dmosk -r |
-R | Каталог, в который выполняется chroot useradd dmosk -R /var/chroot/home |
-s | Путь до оболочки командной строки useradd dmosk -s /bin/csh |
-u | Задает UID useradd dmosk -u 666 |
-U | Имя группы будет таким же, как у пользователя useradd dmosk -U |
Актуальный список ключей можно получить командой useradd -h.
Редактирование
* эта команда добавит пользователя dmosk в группу wheel
Удаление
Блокировка
1. Можно заблокировать пользователя, не удаляя его из системы:
Чтобы разблокировать пользователя, вводим:
2. В некоторых системах Linux может использоваться pam-модуль tally. Он осуществляет подсчет количества неудачных попыток входа в систему. Также он может блокировать доступ при превышении данного количества.
Чтобы посмотреть счетчик для пользователя, вводим команду:
Для сброса счетчика (и блокировки, если она есть) вводим:
pam_tally2 —user=admin —reset
Работа с группами
4. Добавление пользователя в группу:
Выполняется через команду usermod:
Выполняется с помощью gpasswd:
Список пользователей
Посмотреть список пользователей можно в файле /etc/passwd:
Мы увидим что-то на подобие:
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
.
Как правило, большая часть данных пользователей является системными — их UID меньше 1000 и больше 60000.
Более функциональная команда для отображения содержимого файла passwd — getent:
Можно найти пользователя по идентификатору:
Получить список не системных пользователей:
Получить только список логинов не системных учетных записей:
Примеры работы с учетными записями
Рассмотрим несколько утилит, с помощью которых можно управлять учетными записями в Linux.
useradd
1. Создать пользователя, добавить его в группу и создать домашнюю директорию:
useradd dmosk -G printer -m
2. Создать учетную запись с возможностью получения привилений суперпользователя (командой sudo su):
3. Создать пользователя с определенными UID и GID (соответственно идентификаторы пользователя и группы):
useradd dmosk -u 900 -g 950
* группа с используемым идентификатором (в данном примере 950) уже должна быть создана заранее с использованием команды groupadd.
4. Создать пользователя и указать путь к домашней директории:
useradd dmosk -d /home/newdmosk
5. Создать учетную запись без возможности входа в систему:
useradd dmosk -s /sbin/nologin
usermod
1. Потребовать сменить пароль при следующем входе в систему:
2. Поменять пользователю основную группу:
usermod dmosk -g kdonewgroup
3. Задать пользователю дополнительную группу с правами root:
4. Добавить пользователя в группу:
* в данном примере мы добавим пользователя dmosk в группу group.
5. Сменить домашнюю директорию:
usermod -d /var/www/dmosk dmosk
* данной командой мы меняем для пользователя dmosk домашнюю директорию на /var/www/dmosk.
chage
1. Автоматическая блокировка учетной записи:
* данной командой мы указали, что учетная запись dmosk перестанет действовать после 1 мая 2023 года.
Чтобы посмотреть информацию о дате окончания срока действия учетной записи вводим:
Сделать учетную запись бессрочной:
Возможные ошибки
sudo must be owned by uid 0 and have the setuid bit set
При попытке получить привилении командой:
. система возвращает ошибку:
sudo: /usr/bin/sudo must be owned by uid 0 and have the setuid bit set
Причина: эта ошибка возникает, когда утилита sudo не имеет правильных прав доступа на вашей системе. В частности, она происходит, когда владелец файла /usr/bin/sudo не является пользователем root или когда установлен неправильный бит setuid на файле.
Решение: убедитесь, что вы вошли в систему с учетной записью, имеющей права администратора. Это можно сделать, войдя напрямую под пользователем root.
Выполняем команду, чтобы проверить права файла sudo:
Если владелец не является пользователем root, выполните следующую команду, чтобы изменить владельца файла:
chown root:root /usr/bin/sudo
Убедитесь, что установлен правильный бит setuid на файле sudo, выполнив следующую команду: