Ubuntu дать права на подключение пользователю. Ubuntu Server - административные права пользователей

User management is a critical part of maintaining a secure system. Ineffective user and privilege management often lead many systems into being compromised. Therefore, it is important that you understand how you can protect your server through simple and effective user account management techniques.

Ubuntu developers made a conscientious decision to disable the administrative root account by default in all Ubuntu installations. This does not mean that the root account has been deleted or that it may not be accessed. It merely has been given a password which matches no possible encrypted value, therefore may not log in directly by itself.

Instead, users are encouraged to make use of a tool by the name of sudo to carry out system administrative duties. Sudo allows an authorized user to temporarily elevate their privileges using their own password instead of having to know the password belonging to the root account. This simple yet effective methodology provides accountability for all user actions, and gives the administrator granular control over which actions a user can perform with said privileges.

    If for some reason you wish to enable the root account, simply give it a password:

    Configurations with root passwords are not supported.

    sudo passwd

    Sudo will prompt you for your password, and then ask you to supply a new password for root as shown below:

    Password for username: (enter your own password) Enter new UNIX password: (enter a new password for root) Retype new UNIX password: (repeat new password for root) passwd: password updated successfully

    To disable the root account password, use the following passwd syntax:

    sudo passwd -l root

    However, to disable the root account itself, use the following command:

    usermod --expiredate 1

    You should read more on Sudo by reading the man page:

    man sudo

By default, the initial user created by the Ubuntu installer is a member of the group "sudo " which is added to the file /etc/sudoers as an authorized sudo user. If you wish to give any other account full root access through sudo , simply add them to the sudo group.

Adding and Deleting Users

The process for managing local users and groups is straightforward and differs very little from most other GNU/Linux operating systems. Ubuntu and other Debian based distributions encourage the use of the "adduser" package for account management.

    To add a user account, use the following syntax, and follow the prompts to give the account a password and identifiable characteristics, such as a full name, phone number, etc.

    sudo adduser username

    To delete a user account and its primary group, use the following syntax:

    sudo deluser username

    Deleting an account does not remove their respective home folder. It is up to you whether or not you wish to delete the folder manually or keep it according to your desired retention policies.

    Remember, any user added later on with the same UID/GID as the previous owner will now have access to this folder if you have not taken the necessary precautions.

    You may want to change these UID/GID values to something more appropriate, such as the root account, and perhaps even relocate the folder to avoid future conflicts:

    sudo chown -R root:root /home/username/ sudo mkdir /home/archived_users/ sudo mv /home/username /home/archived_users/

    To temporarily lock or unlock a user account, use the following syntax, respectively:

    sudo passwd -l username sudo passwd -u username

    To add or delete a personalized group, use the following syntax, respectively:

    sudo addgroup groupname sudo delgroup groupname

    To add a user to a group, use the following syntax:

    sudo adduser username groupname

User Profile Security

When a new user is created, the adduser utility creates a brand new home directory named /home/username . The default profile is modeled after the contents found in the directory of /etc/skel , which includes all profile basics.

If your server will be home to multiple users, you should pay close attention to the user home directory permissions to ensure confidentiality. By default, user home directories in Ubuntu are created with world read/execute permissions. This means that all users can browse and access the contents of other users home directories. This may not be suitable for your environment.

    To verify your current user home directory permissions, use the following syntax:

    ls -ld /home/username

    The following output shows that the directory /home/username has world-readable permissions:

    drwxr-xr-x 2 username username 4096 2007-10-02 20:03 username

    You can remove the world readable-permissions using the following syntax:

    sudo chmod 0750 /home/username

    Some people tend to use the recursive option (-R) indiscriminately which modifies all child folders and files, but this is not necessary, and may yield other undesirable results. The parent directory alone is sufficient for preventing unauthorized access to anything below the parent.

    A much more efficient approach to the matter would be to modify the adduser global default permissions when creating user home folders. Simply edit the file /etc/adduser.conf and modify the DIR_MODE variable to something appropriate, so that all new home directories will receive the correct permissions.

    After correcting the directory permissions using any of the previously mentioned techniques, verify the results using the following syntax:

    ls -ld /home/username

    The results below show that world-readable permissions have been removed:

    drwxr-x--- 2 username username 4096 2007-10-02 20:03 username

Password Policy

A strong password policy is one of the most important aspects of your security posture. Many successful security breaches involve simple brute force and dictionary attacks against weak passwords. If you intend to offer any form of remote access involving your local password system, make sure you adequately address minimum password complexity requirements, maximum password lifetimes, and frequent audits of your authentication systems.

Minimum Password Length

By default, Ubuntu requires a minimum password length of 6 characters, as well as some basic entropy checks. These values are controlled in the file /etc/pam.d/common-password , which is outlined below.

password pam_unix.so obscure sha512

If you would like to adjust the minimum length to 8 characters, change the appropriate variable to min=8. The modification is outlined below.

password pam_unix.so obscure sha512 minlen=8

Basic password entropy checks and minimum length rules do not apply to the administrator using sudo level commands to setup a new user.

Password Expiration

When creating user accounts, you should make it a policy to have a minimum and maximum password age forcing users to change their passwords when they expire.

    To easily view the current status of a user account, use the following syntax:

    sudo chage -l username

    The output below shows interesting facts about the user account, namely that there are no policies applied:

    Last password change: Jan 20, 2015 Password expires: never Password inactive: never Account expires: never Minimum number of days between password change: 0 Maximum number of days between password change: 99999 Number of days of warning before password expires: 7

    To set any of these values, simply use the following syntax, and follow the interactive prompts:

    sudo chage username

    The following is also an example of how you can manually change the explicit expiration date (-E) to 01/31/2015, minimum password age (-m) of 5 days, maximum password age (-M) of 90 days, inactivity period (-I) of 5 days after password expiration, and a warning time period (-W) of 14 days before password expiration:/home/username/.ssh/authorized_keys .

    Remove or rename the directory .ssh/ in the user"s home folder to prevent further SSH authentication capabilities.

    Be sure to check for any established SSH connections by the disabled user, as it is possible they may have existing inbound or outbound connections. Kill any that are found.

    who | grep username (to get the pts/# terminal) sudo pkill -f pts/#

    Restrict SSH access to only user accounts that should have it. For example, you may create a group called "sshlogin" and add the group name as the value associated with the AllowGroups variable located in the file /etc/ssh/sshd_config .

    AllowGroups sshlogin

    Then add your permitted SSH users to the group "sshlogin", and restart the SSH service.

    sudo adduser username sshlogin sudo systemctl restart sshd.service

    External User Database Authentication

    Most enterprise networks require centralized authentication and access controls for all system resources. If you have configured your server to authenticate users against external databases, be sure to disable the user accounts both externally and locally. This way you ensure that local fallback authentication is not possible.

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

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

При этом вы сможете выполнять административные задачи при помощи пользователя с sudo правами. Из этого руководства вы узнаете, как создавать пользователей, наделять их правами sudo и удалять их.

Как добавить пользователя

# adduser newuser

Если для создания нового пользователя вы хотите использовать пользователя с sudo-правами, тогда команда будет выглядеть чуть иначе:

$ sudo adduser newuser

(При этом вместо newuser вы можете указать какое-то другое слово, так как это будет имя нового пользователя.)

После ввода команды вам нужно будет последовательно ответить на несколько вопросов, а именно:

  • ввести и подтвердить пароль для нового пользователя;
  • написать дополнительную информацию о новом пользователе. Делать это необязательно; если не хотите ничего добавлять, просто нажмите Enter;
  • наконец, вам нужно будет подтвердить корректность всей введенной до этого информации - для этого надо нажать y (yes - да).

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

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

Как наделить пользователя правами sudo

Если вам нужно, чтобы новый пользователь мог выполнять административные (root) команды, вам нужно дать этому пользователю доступ к sudo. Сделать это можно двумя путями: либо добавить этого пользователя в созданную группу пользователей, которые могут выполнять команды sudo, либо дать это право пользователю путем внесения изменений в конфигурацию утилиты sudo. Рассмотрим оба варианта.

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

По умолчанию в Ubuntu 16.04 правами выполнять sudo команды обладают все пользователи, которые входят в соответствующую группу.

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

$ groups newuser

В результате вы увидите на экране:

Newuser: newuser

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

$ usermod -aG sudo newuser

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

Ключ -aG нужен для того, чтобы пользователь был добавлен в одну из уже существующих в списке групп.

Проверка наличия sudo-прав

Теперь необходимо проверить, может ли ваш пользователь выполнять административные команды.

$ команда

Вы можете выполнить эту же команду, но с административными правами, если напишете в начале sudo:

$ sudo команда

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

Уточнение прав пользователя в in /etc/sudoers

Альтернативным способом дать пользователю sudo-права является настройка конфигурационного файла. Вам нужно использовать команду visudo для того, чтобы открыть конфигурационный файл /etc/sudoers в выбранном по умолчанию редакторе и указать права конкретно для этого пользователя.

Рекомендуется для редактирования конфигурационного файла использовать именно команду visudo: во-первых, она защищает файл от нескольких одновременных изменений, во-вторых, проверяет синтаксис файла перед перезаписью. Благодаря этому у вас не будет ситуации, когда вы неправильно настроили sudo, а потом не можете внести нужные изменения, так как потеряли административные права.

Если вы используете пользователя с sudo-правами, тогда нужная вам команда будет выглядеть так:

Как правило, команда visudo открывалась /etc/sudoers в редакторе vi, что могло смутить не очень опытных пользователей. Поэтому в Ubuntu 16.04 вместо vi используется nano, инструмент, который гораздо больше знаком большинству пользователей. Используете стрелки на клавиатуре для того, чтобы найти нужную строку. Она выглядит примерно так:

Root ALL=(ALL:ALL) ALL

Скопируйте этот текст чуть ниже и вместо “root” напишите имя того пользователя, которого вы хотите наделить правом выполнять sudo-команды. Это будет выглядеть примерно так:

Root ALL=(ALL:ALL) ALL newuser ALL=(ALL:ALL) ALL

Для каждого нового пользователя необходимо добавлять новую строку. После того, как вы внесете все необходимые изменения, сохраните и закройте файл, нажав Ctrl-X, затем Y и Enter для подтверждения.

Как удалять пользователей

Если вам больше не нужен один из созданных пользователей, лучшим решением будет удалить его.

Вы можете удалить только пользователя, без удаления его файлов, используя команду:

# deluser newuser

Если вы используете пользователя с sudo-правами, тогда команда будет выглядеть следующим образом:

$ sudo deluser newuser

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

# deluser --remove-home newuser

Для пользователей с sudo-правами:

$ sudo deluser --remove-home newuser

А если вы хотите лишить удаленного пользователя sudo-прав, вам нужно открыть конфигурационный файл:

(если от суперпользователя)
или

(если от пользователя с sudo-правами)

Root ALL=(ALL:ALL) ALL newuser ALL=(ALL:ALL) ALL # Удалите эту строчку.

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

Заключение

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

Предположим, что я новый пользователь Ubuntu Linux 16.04.xx LTS. У меня сразу может возникнуть ряд вопросов. Как создать нового пользователя sudo на моем сервере? Как добавить нового пользователя в файл sudoer с помощью параметра командной строки на Ubuntu?

В Linux (и Unix вообще) существует суперпользователь с именем root. Корневой пользователь может делать все и вся, и, таким образом, обычное использование системы может стать очень опасным. Вы можете ввести команду неправильно и уничтожить систему. Команда sudo позволяет разрешенному пользователю запускать команду в качестве суперпользователя (пользователя root) или другого пользователя, как указано в политике безопасности. Часто sudo используется на серверах для предоставления прав администратора и привилегий для обычных пользователей. В этом кратком руководстве вы узнаете, как создать пользователя sudo на Ubuntu.

Несколько шагов, которые необходимо сделать для того, чтобы создать пользователя sudo на Ubuntu

Подробнее о группе администратора и группе sudo на сервере Ubuntu

Члены административной группы могут получать привилегии root. Все члены группы sudo запускают любую команду на сервере Ubuntu. Поэтому просто добавьте пользователя в группу sudo на сервере Ubuntu. Возможности группы admin были значительно урезаны, начиная с версии Ubuntu 12.04 и выше. Следовательно, admin группы больше не существует или она просто используется в версии Ubuntu 12.04 или выше. Причина, по которой это работает:

# grep -B1 -i "^%sudo" /etc/sudoers

$ sudo grep -B1 -i "^%sudo" /etc/sudoers

# Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL

Давайте посмотрим на некоторые практические примеры.

Как добавить нового пользователя с именем vivek в sudo с помощью командной строки?

Откройте терминал или войдите на свой удаленный сервер:

$ ssh root@server-name-IP-here $ ssh [email protected] { root@server:/root} #

# adduser vivek

$ sudo adduser vivek

Рисунок 01: Как добавить нового пользователя на Ubuntu

Примеры возможных выводов данных:

Как создать пользователя sudo в Ubuntu для учетной записи vivek

Введите следующую команду:

# adduser vivek sudo

ИЛИ используйте команду usermod для того, чтобы добавить пользователя в группу на Linux:

# usermod -aG sudo vivek

$ sudo usermod -aG sudo vivek

$ sudo adduser vivek sudo

Примеры возможных выводов данных:

Рисунок 02: Добавить пользователя vivek в sudo, чтобы получить права администратора

Подтвердите нового пользователя и члена группы с помощью :

$ id vivek

Примеры возможных выводов данных:

Рисунок 03: Показать информацию о пользователе и группе

Теперь пользователь vivek может войти в систему с помощью команды ssh следующим образом:

$ ssh [email protected]

Убедитесь, что vivek может использовать команду sudo:

$ sudo cat /etc/sudoers

При первом использовании команды sudo вам будет предложено ввести пароль учетной записи vivek. Поэтому введите пароль vivek для получения доступа root . Любой тип команды с sudo должен запускаться с привилегиями root для учетной записи vivek . Чтобы получить корневую оболочку, введите:

$ sudo –s

Примеры возможных выводов данных:

Рисунок 03: Тестирование доступа sudo для учетной записи пользователя vivek

И вот вы справились. Теперь вы можете разрешать другим пользователям запускать sudo на сервере Ubuntu и предоставлять пользователям права администратора.

Теперь немного поговорим о разграничении прав доступа к различным элементам. Описанный в этой статье механизм является основополагающим в Linux и соответственно в Ubuntu, так что читайте внимательно.

Пользователи и группы

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

Кроме пользователей в Linux для разграничения прав существуют группы. Каждая группа так же как и отдельный пользователь обладает неким набором прав доступа к различным компонентам системы и каждый пользователь-член этой группы автоматически получает все права группы. То есть группы нужны для группировки пользователей по принципу одинаковых полномочий на какие-либо действия, вот такая тавтология. Каждый пользователь может состоять в неограниченном количестве групп и в каждой группе может быть сколько угодно пользователей .

Например, в Ubuntu есть одна очень полезная группа: admin . Любой член этой группы получает неограниченные административные привилегии. Я уже рассказывал про роль администратора в Ubuntu, так что если вы уже успели забыть кто это, можете освежить свои знания. Создаваемый при установке Ubuntu пользователь автоматически становится членом группы admin .

Управлять пользователями и группами можно с помощью специального инструмента, находящегося в меню Система→Администрирование→Пользователи и группы .

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

Права доступа в Linux

Любой файл и каталог в Linux имеет пользователя-владельца и группу-владельца. То есть любой файл и каталог принадлежит какому-то пользователю системы и какой-то группе. Кроме того, у любого файла и каталога есть три группы прав доступа: одна для пользователя-владельца, одна для членов группы-владельца и одна для всех остальных пользователей системы. Каждая группа состоит из прав на чтение, запись и запуск файла на исполнение. Для каталогов право на исполнение и право на чтение всегда идут вместе и означают одно и то же.

То есть изменяя владельцев того или иного файла и различные группы прав доступа к нему можно гибко управлять доступом к этому файлу. Например, сделав себя владельцем некоего файла и полностью запретив к нему доступ всем, кроме пользователя-владельца, можно скрыть содержимое и запретить изменение этого файла для всех других пользователей. Такая же штука проходит и с каталогами. Можно, например, запретить записывать файлы в каталог, или вообще скрыть его содержимое от посторонних глаз.

В данный момент нас интересует одно крайне важное следствие из подобной организации прав доступа в системе. Конкретному пользователю Ubuntu принадлежит только его домашний каталог и все его содержимое. В системе этот каталог находится по адресу /home/имя_пользователя. Все остальные файлы системы, включая все приложения, системные настройки и т.д., располагающиеся вне /home , принадлежат преимущественно root . Помните, я говорил, что root - это пользователь с неограниченными привилегиями, непосредственное использование которого в Ubuntu запрещено. Так вот, все системные файлы и каталоги принадлежат root недаром, им всем выставлены права на изменение только для пользователя-владельца, таким образом никто, кроме root , не может вмешаться в работу системы и что-то поменять в системных файлах.

Это конечно очень хорошо для безопасности, но что же делать, если вам нужно изменить какие-нибудь системные файлы? Тут есть два пути : во-первых, большинство необходимых пользователю системных настроек можно изменить обладая правами администратора из графических конфигураторов, это самый предпочтительный способ. Ну а во-вторых можно временно повысить свои права до root и делать вообще всё, что угодно.

Делается это с помощью утилиты sudo и её производных. sudo - это консольная утилита. Она позволяет «прикинуться» рутом при выполнении конкретной команды, таким образом, получив неограниченные права. Например, команда

Sudo aptitude update

обновит данные о доступных вам приложениях (зачем это нужно я объясню в статье про управление программами). Сама по себе команда

Aptitude update

работает, только если её запускает root . Однако запуская её с помощью sudo вы выдаёте себя за рута, рутом при этом не являясь. Естественно, для использования sudo вы должны обладать правами администратора . При этом при запуске команды через sudo система спросит у вас ваш пароль, однако в целях безопасности при его вводе вам не будет ничего показываться, ни звёздочек, ни чёрточек, ни птичек, ничего. Не пугайтесь, так и надо, просто вводите до конца и нажимайте Enter . Если вы являетесь администратором и правильно ввели пароль, то указанная после sudo команда исполнится от имени root .

Через терминал можно сделать всё, что угодно, так что имея возможность стать рутом вы можете выполнить все необходимые вам настройки. Однако иногда удобно использовать графические приложения, при этом обладая правами рута. Например, если вам надо скопировать файлы в системные каталоги. Для запуска графических приложений от имени root откройте диалог запуска GNOME сочетанием клавиш Alt + F2 и введите

Gksudo имя_приложения

Например, для запуска файлового менеджера Nautlus надо ввести

Gksudo nautilus

Через запущенный таким образом Nautilus вы сможете как угодно изменять любые файлы на компьютере.

Будьте предельно внимательны при использовании Nautilus с правами root ! Вы сможете безо всяких предупреждений безвозвратно удалить любой системный файл, что спокойно может привести к неработоспособности всей системы.

Редактирование конфигурационных файлов

Важнейшим примером применения вышеописанной технологии «прикидывания» рутом является редактирование конфигурационных файлов системы. Я уже говорил, что все настройки системы и всех приложений в Linux хранятся в виде текстовых файлов. Так вот, редактировать вы можете только файлы, принадлежащие вам, то есть только настройки, касающиеся вашего пользователя. А для редактирования системных параметров вам понадобятся права администратора.

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

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

Gksudo gedit /путь/до/файла

Gedit - это стандартный текстовый редактор Ubuntu.

Однако в диалоге запуска не работает автодополнение, следовательно путь до файла вам придётся набирать вручную, что не всегда удобно. Поэтому можно для запуска текстового редактора от имени суперпользователя использовать терминал, например:

Учтите, что sudo - это чисто консольная утилита, поэтому использовать её в диалоге запуска приложений нельзя, хотя из терминала через неё можно запускать графические приложения. А gksudo наоборот, утилита графическая, поэтому её не стоит использовать в терминале, хотя это и не запрещено.

В итоге откроется редактор с возможностью сохранения изменений.

В этой инструкции мы рассмотрим как удалить пользователя Linux вместе с его данными и домашним каталогом.

Если вы системный администратор в крупной компании то, скорее всего, удаление пользователей linux для вас довольно частая задача. После того как аккаунт становится ненужным или пользователь ушел из организации, его аккаунт нужно удалить, чтобы не оставлять дыр в безопасности.

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

Перед тем как переходить к действиям в реальной среде нужно немного попрактиковаться, давайте создадим два пользователя losst и losst1, вместе с домашними каталогами, а затем уже будем их удалять:

adduser losst
$ passwd losst

adduser losst1
$ passwd losst1

Здесь команда adduser используется для создания учетной записи пользователя, а passwd для создания пароля.

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

Описание deluser

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

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

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

Вы можете посмотреть и изменить эти настройки выполнив команду:

vi /etc/deluser.conf

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

  • REMOVE_HOME - удалять домашний каталог пользователя
  • REMOVE_ALL_FILES - удалить все файлы пользователя
  • BACKUP - выполнять резервное копирование файлов пользователя
  • BACKUP_TO - папка для резервного копирования
  • ONLY_IF_EMPTY - удалить группу пользователя если она пуста.

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

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

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

Описание userdel

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

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

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

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

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

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

Выполните команду passwd с параметром --lock:

passwd --lock losst

passwd: информация об истечении срока действия пароля изменена.

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

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

Найдем процессы с помощью pgrep:

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

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

UID PID PPID C STIME TTY STAT TIME CMD
losst 14684 14676 0 22:15 pts/2 S 0:00 -bash
losst 14735 14684 0 22:15 pts/2 S+ 0:00 vi text

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

Killall -9 -u losst

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

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

sudo yum install psmisc

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

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

tar jcvf /user-backups/losst-backup.tar.bz2 /home/losst

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

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

deluser --remove-home losst

userdel --remove losst

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

deluser --remove-all-files losst

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

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

Откройте Параметры системы :

Откройте пункт Учетные записи :

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

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

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

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

Выводы

Удалить пользователя в linux не так уж сложно, независимо от того где это нужно сделать, на сервере или домашнем компьютере. Конечно, графический интерфейс более удобен, но в терминал, как всегда, предлагает больше возможностей. Если у вас есть еще какие-нибудь идеи по этому поводу, напишите в комментариях!