Права суперпользователя linux debian

Права суперпользователя Debian (sudo, visudo)

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

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

Установка и настройка

В ОС Ubuntu sudo включена по умолчанию, а в Debian, если в процессе установки не был выбран соответствующий пакет, скорее всего будет следующая картина:

root@debian10:~# sudo
-bash: sudo: command not found

Значит, требуется установить недостающий пакет. Обновляем информацию о репозиториях и устанавливаем sudo:

apt-get update
apt-get install sudo

Дожидаемся окончания процесса:

После успешной установки потребуется сконфигурировать sudo, определив, какие пользователи или группы смогут использовать повышение привилегий и в каком объеме. Все эти настройки хранятся в конфигурационном файле /etc/sudoers, однако вносить в него изменения напрямую настоятельно не рекомендуется. Для этих целей используется специальная команда:

которая запускает текстовый редактор с конфигурационным файлом:

За предоставление прав здесь отвечают две строки:

root ALL=(ALL:ALL) ALL
%sudo ALL=(ALL:ALL) ALL

Первая строка назначает права для учетной записи root, вторая устанавливает права для членов группы sudo, которая была создана при установке пакета (знак % перед названием означает, что имя относится к группе пользователей). Соответственно, у нас есть два основных способа предоставить пользовательской учетной записи право использовать sudo:

1. Добавить учетную запись пользователя (например, user) в группу sudo на сервере:

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

Читайте также:  Alt linux office server

2. Создать в файле новую запись, например, для учетной записи user. Мы добавляем строку по аналогии с root:

Добавлять новую запись рекомендуется в тех случаях, когда список привилегий будет корректироваться (об этом чуть позднее). Если мы внесли изменения в файл, нужно их сохранить нажатием сочетания клавиш Ctrl-O и выйти из редактора — Ctrl-X.

Теперь можно проверить корректность работы:

user@debian10:~$ sudo cat /etc/sudoers
[sudo] password for user:

Команда sudo запрашивает пароль текущего пользователя (в данном случае это user) — вводим его, и, если все сделано правильно, мы увидим содержание системного конфигурационного файла.

Тонкая настройка

Таким образом, обычный пользователь может запускать команды с правами учетной записи root не зная ее пароль. Это очень удобно, но может быть небезопасно — есть ли возможность ограничить круг команд, которые можно исполнять посредством sudo? Да, и поможет нам в этом тот же самый конфигурационный файл. Снова запускаем visudo и разбираемся дальше. Нас интересуют параметры, указанные после имени пользователя:

  • ALL=(ALL:ALL) ALL — первый параметр определяет к какому хосту применяется конфигурация. При использовании выделенного сервера параметр можно оставить без изменений;
  • ALL=(ALL:ALL) ALL — параметры в скобках определяют с полномочиями какого пользователя (первый параметр) и/или группы (второй параметр) будет выполняться команда. По умолчанию sudo выполняет команду от имени root, однако при запуске с ключом –u можно указать другую учетную запись, а с ключом –g другую группу, чьи полномочия будут использованы при запуске;
  • ALL=(ALL:ALL) ALL — третий параметр определяет к каким файлам и командам относятся данные настройки.

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

user ALL=(ALL:ALL) /sbin/shutdown –r, /bin/cat

дает право пользователю user с помощью sudo осуществлять перезагрузку сервера командой sudo /sbin/shutdown –r и просматривать файлы с помощью sudo /bin/cat. Другие команды через sudo выполняться не будут. Например, при попытке выключить сервер командой sudo /sbin/shutdown –h, получим ответ:

Sorry, user user is not allowed to execute ‘/sbin/shutdown -h’ as root on debian10.

Читайте также:  Работает ли стим на линуксе

Полезное

Увидеть список привилегий можно, запустив sudo –l (будет отображен список для текущего пользователя), либо sudo –l –U user (будет отображен список привилегий пользователя user):

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

sudo nano /etc/network/interfaces

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

и продолжить работу в нем — все команды будут запускаться с повышенными правами. По завершении работы выходим из интерпретатора командой exit.

Источник

How to Create a Sudo User on Debian

Sudo stands for superuser do. It is a command used in Unix-like systems that allows a regular user to temporarily execute a program with root privileges.

This option gives you administrator-level permissions to run programs on your machine. It is an alternative to using the su command. However, bear in mind there are significant differences between sudo and su.

This guide shows you how to create a user with sudo privileges, add a user to a sudo group, and verify sudo access on Debian.

How to create a sudo user on Debian.

Note: Linux Sudo Command tutorials also available for:

Creating a Debian Sudo User

Creating a Debian sudo user involves a few simple steps. This procedure does not require you to edit the sudoers file. If you have an existing user that you want to grant sudo privileges, skip Step 2.

Step 1: Log in as the Root User

Before you can add a user to your system, log in to your server as the root user:

Replace ip_address with the IP address of your server.

Step 2: Add a New User in Debian

As the root user, create a new user with the adduser command. Append the desired user account name to the command:

For example, we added a new account sudo_user with the command:

The output looks like this:

output after adduser sudo user command in debian

The sudo command creates a home directory for the user and copies the necessary files. To complete the process, enter the password for the user account and retype to confirm it.

Remember that setting a strong password is extremely important for accounts with sudo access.

Читайте также:  Ndg linux essentials lab 5 command line skills

entering the password for unix

The terminal also prompts you to change the user information. Fill in the details or hit Enter to leave the fields blank.

changing the user information for the sudo user

Step 3: Add User to the Sudo Group

Users with root privileges can add any account to the sudo group. On Debian and Ubuntu systems, everyone in this group automatically gets sudo access.

Run the following command to add a user to the sudo group:

The command consists of the following parts:

  • usermod is the tool that modifies a user account.
  • -aG is the option that tells the command to add the user to a specific group. The -a option adds a user to the group without removing it from current groups. The -G option states the group where to add the user. In this case, these two options always go together.
  • sudo is the group we append to the above options. In this case, it is sudo, but it can be any other group.
  • username is the name of the user account you want to add to the sudo group.

To verify the new Debian sudo user was added to the group, run the command:

The output lists all users in the group.

output checking is user was added to sudo group

Verify Sudo Access in Debian

To make sure the new user has sudo privileges:

1. Switch to the user account you just created by running the following command (and replacing username with the name of your user):

2. Run any command that requires superuser access. For example, sudo whoami should tell you that you are the root.

Using Sudo

To run a command with root access, type in sudo and enter the desired command.

For example, to view details for the root directory, run the ls tool as:

Enter the user’s password, and the terminal shows the contents of the root directory. You only need to enter the password once in the same session.

Now you know how to add a user with sudo privileges on Debian.

By following this guide, you can use the new account to run commands as a superuser. Remember to be careful when you execute sudo commands.

Источник

Оцените статью
Adblock
detector