Удаление пользователя в Unix, Linux

В инструкции описано создание, удаление и изменение пользователей операционной системы Ubuntu или Debian.

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

Возможно вам не требуется полное удаление пользователя, а требуется пока только заблокировать.

passwd -l username # добавит в /etc/passwd !! в поле пароль, такой же эффект можно добиться и командой vipw passwd -u username # а этой командой можно будет его разблокировать usermod -s /sbin/nologin username # устанавливает только shell в значение nologin, а по ftp пользователь сможет зайти usermod -s /sbin/bash # установит ему shell bash

Помните, что почтовые ящики, пользователе СУБД и прочих сервисов нужно блокировать и удалять в соответствующих местах.

Способы добавить пользователя в группу Linux

Начнем с самого простого. Для добавления в группы применяется простая команда useradd или usermod. С помощью первой команды можно добавить нового пользователя или просто обновить информацию об уже созданном. Вторая команда производит модификацию над существующим пользователем. Всю информацию о группах и участниках можно найти в следующих файлах: /etc/passwd, /etc/shadow или /etc/group.

При использовании команд вы должны понимать, в какую именно группу и какого пользователя вы добавляете. По умолчанию группа будет соответствовать имени пользователя. То есть для пользователя user1 его основная группа будет также user1. Изначально ему нужно задать его основную группу. И лишь затем пользователя можно добавлять во вторичные группы.

Различные сценарии при добавлении пользователя в группу

При добавлении пользователя в группу необходимо учитывать множество факторов:

§  Существование пользователя — команды обычно различаются в зависимости от того, существует ли пользователь в системе,

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

§  Права пользователя — это основной фактор, так как только суперпользователи могут добавлять любого пользователя в любую группу. Это разрешение ограничивает пользователей с точки зрения того, какие группы и каких пользователей они могут редактировать.

Читайте также:  Как установить Windows: режимы Legacy и UEFI.

Учитывая все эти факторы, мы представляем только две команды для добавления пользователей в группы. Но они представлены с учетом того, что пользователь, вводящий эти команды, является суперпользователем /root (может выполнять sudo).

Управление пользователями и группами

Существует четыре основных файла администрирования пользователей —

  • / etc / passwd — хранит информацию об учетной записи пользователя и пароле. Этот файл содержит большую часть информации об учетных записях в системе Unix.

  • / etc / shadow — содержит зашифрованный пароль соответствующей учетной записи. Не все системы поддерживают этот файл.

  • / etc / group — этот файл содержит информацию о группе для каждой учетной записи.

  • / etc / gshadow — этот файл содержит информацию об учетной записи защищенной группы.

/ etc / passwd — хранит информацию об учетной записи пользователя и пароле. Этот файл содержит большую часть информации об учетных записях в системе Unix.

/ etc / shadow — содержит зашифрованный пароль соответствующей учетной записи. Не все системы поддерживают этот файл.

/ etc / group — этот файл содержит информацию о группе для каждой учетной записи.

/ etc / gshadow — этот файл содержит информацию об учетной записи защищенной группы.

Проверьте все перечисленные выше файлы с помощью команды cat .

В следующей таблице перечислены команды, доступные в большинстве систем Unix для создания учетных записей и групп и управления ими.

Команда и описание
1

useradd

Добавляет учетные записи в систему

2

usermod

Изменяет атрибуты аккаунта

3

userdel

Удаляет аккаунты из системы

4

GroupAdd

Добавляет группы в систему

5

groupmod

Изменяет атрибуты группы

6

groupdel

Удаляет группы из системы

useradd

Добавляет учетные записи в систему

usermod

Изменяет атрибуты аккаунта

userdel

Удаляет аккаунты из системы

GroupAdd

Добавляет группы в систему

groupmod

Изменяет атрибуты группы

groupdel

Удаляет группы из системы

Вы можете использовать справку Manpage, чтобы проверить полный синтаксис для каждой команды, упомянутой здесь.

Удаление пользователя Linux в терминале

Давайте рассмотрим, как удалить пользователя Linux в терминале. Для этого используется команда — deluser в Debian и производных системах, а в RHEL — userdel. Рассмотрим подробнее эти две утилиты.

Описание deluser

Синтаксис команды deluser очень простой:

$ deluser параметры пользователь

Настройки команды deluser находятся в файле /etc/, среди прочих настроек там указанно что нужно делать с домашней папой и файлами пользователя. Вы можете посмотреть и изменить эти настройки выполнив команду:

vi /etc/

Рассмотрим подробнее эти настройки:

  • REMOVE_HOME — удалять домашний каталог пользователя
  • REMOVE_ALL_FILES — удалить все файлы пользователя
  • BACKUP — выполнять резервное копирование файлов пользователя
  • BACKUP_TO — папка для резервного копирования
  • ONLY_IF_EMPTY — удалить группу пользователя если она пуста.
Читайте также:  Как установить права доступа 777 на файл или папку в Linux

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

Поддерживаются такие параметры, они аналогичны настройкам, но тут больше вариантов:

Удаление пользователя Linux в терминале
  • —system — удалять только если это системный пользователь
  • —backup — делать резервную копию файлов пользователя
  • —backup-to — папка для резервных копий
  • —remove-home — удалять домашнюю папку
  • —remove-all-files — удалять все файлы пользователя в файловой системе

Описание userdel

Утилита userdel работает немного по-другому, файла настроек здесь нет, но есть опции, с помощью которых можно сообщить утилите что нужно сделать. Синтаксис аналогичный:

$ userdel параметры пользователь

  • -f, —force — принудительное удаление, даже если пользователь еще залогинен.
  • -r, —remove — удалить домашнюю директорию пользователя и его файлы в системе.
  • -Z — удалить все SELinux объекты для этого пользователя.

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

Блокировка учетной записи пользователя

Для блокировки учетной записи пользователя можно использовать утилиту passwd. Это запретит пользователю доступ к системе и предотвратит запуск новых процессов. Выполните команду passwd с параметром —lock:

passwd —lock losst

Уничтожить все запущенные процессы пользователя

Теперь давайте найдем все запущенные от имени пользователя процессы и завершим их. Найдем процессы с помощью pgrep:

pgrep -u losst

Посмотреть подробнее, что это за процессы можно передав pid, каждого из них в команду ps, вот так:

ps -f —pid $(pgrep -u losst)

Теперь, когда вы убедились, что там нет ничего важного, можно уничтожить все процессы с помощью команды killall:

Killall -9 -u losst

Опция -9 говорит программе, что нужно отправить этим процессам сигнал завершения SIGKILL, а -u задает имя пользователя.

В основанных на Red Hat системах, для использования killall необходимо будет установить пакет psmisc:

sudo yum install psmisc

Резервное копирование данных пользователя

Удаление пользователя Linux в терминале

Это вовсе не обязательно, но для серьезного проекта не будет лишним создать резервную копию файлов пользователя, особенно если там могли быть важные файлы. Для этого можно использовать, например, утилиту tar:

Читайте также:  Linux копирование файлов и папок через консоль

tar jcvf /user-backups/ /home/losst

Удаление учетной записи пользователя

Теперь, когда все подготовлено, начинаем удаление пользователя linux. На всякий случай укажем явно, что нужно удалять файлы пользователя и домашнюю директорию. Для Debian:

deluser —remove-home losst

Для Red Hat:

userdel —remove losst

Если нужно удалить все файлы, принадлежащие пользователю в системе используйте опцию —remove-all-files, только будьте с ней осторожны, так и важные файлы можно затереть:

deluser —remove-all-files losst

Теперь пользователь полностью удален, вместе со своими файлами и домашней директорией из вашей системы.

Установка и удаление программ

Для установки и удаления программ используются различные утилиты, в зависимости от версии дистрибутива Linux. В основанных на Debian дистрибутивах (Ubuntu, Linux Mint и т. д.) для этой цели используются команды apt-get или aptitude. Первый вариант упрощенный, второй имеет большую функциональность. Некоторые действия, например, установку и удаление, нужно выполнять от root, либо использовать команду sudo.

sudo apt-get update — получение нового списка пакетов.

sudo apt-get upgrade — обновить программы, перед этим нужно обновить список пакетов, выполнив предыдущую команду. Обе команды желательно выполнять периодически (часто это делается автоматически), а также перед установкой новых программ.

sudo apt-get install mc — установка программы mc.

sudo apt-get remove mc — удаление программы mc. В дистрибутивах, основанных на Red Hat, где используются RPM-пакеты, часто используют менеджер yum.

yum update — обновление системы.

yum install mc — установка программы mc.

yum remove mc — удаление программы mc. Есть и другие пакетные менеджеры и варианты установки программного обеспечения.

Управление сетью

  1. ip

    (Internet Protocol). Утилита выводит полный список параметров для настройки работы с сетью. Среди них:

  • link — сетевое устройство;
  • address — IP-адрес сетевого устройства;
  • monitor — мониторинг устройства;
  • route — маршрутизация;
  • tunnel — туннелированные. Каждый из выводимых объектов можно изменять при помощи дополнительных команд: add, change, del, save и т.д.
  1. ping

    Команда проверяет наличие и качество интернет-подключения.

  2. nethogs

    Утилита мониторинга сетевой активности устройств в системе. Чтобы задать сетевой интерфейс, введите:

    nethogs -i

  3. traceroute

    Утилита отслеживания интернет-подключения, отслеживая маршруты следования пакетов данных в сетях TCP/IP. Более совершенный инструмент для отслеживания проблем с подключением к Сети, чем упомянутая выше команда ping. Запускается только с правами суперпользователя.