What is sudo permission in linux

sudo command in Linux with Examples

sudo (Super User DO) command in Linux is generally used as a prefix for some commands that only superusers are allowed to run. If you prefix any command with “sudo”, it will run that command with elevated privileges or in other words allow a user with proper permissions to execute a command as another user, such as the superuser. This is the equivalent of the “run as administrator” option in Windows. The option of sudo lets us have multiple administrators.

These users who can use the sudo command need to have an entry in the sudoers file located at “/etc/sudoers”. Remember that to edit or view the sudoers file you have to use the sudo command. To edit the sudoers file it is recommended to use the “visudo” command.

By default, sudo requires that users authenticate themselves with a password that is the user’s password, not the root password itself.

The syntax for `sudo` command:

sudo -V | -h | -l | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] command

Options Available in the `sudo` command

sudo -b [command]

(replace “command” with the command you want run in the background)

sudo -p "Enter your password" [command]

(replace “command” with the command you want run in the background)

sudo -n [command]

(replace “command” with the command you want run in the background)

sudo -u [user] [command]

(replace “command” with the command you want run in the background)

sudo -s [command]

(replace “command” with the command you want run in the background)

sudo -H [command]

(replace “command” with the command you want run in the background)

sudo -S [command]

(replace “command” with the command you want run in the background)

sudo -a [auth-type] [command]

(replace “command” with the command you want run in the background)

sudo -- [command]

(replace “command” with the command you want run in the background)

Читайте также:  Два линукса одном диске

The output of few commands

1. -V: The -V (version) option causes sudo to print the version number and exit. If the invoking user is already root, the -V option will print out a list of the defaults sudo was compiled with.

sudo -V

2. -l: The -l (list) option will print out the commands allowed (and forbidden) the user on the current host.

sudo -l

3. -h or –help: The -h (help) option causes sudo to print a usage message and exit.

sudo -h

Environment Variables

These environment variables are used by sudo

Frequently asked Questions about `sudo` command

1) What is `sudo` in Linux?

Sudo is a command in Linux that allows users to run commands with privileges that only root user have. It helps users to do tasks with administrative power without logging in as the root user, though sometimes it can be risky.

2) Which Linux commands need `sudo` privileges?

There are many Linux commands that are needed to execute with sudo privileges such as networking commands, package management commands and system level commands. For example, commands that require sudo privileges to run are `yum`, `systemctl`, `mount`, `apt-get`, `fdisk` and `ifconfig`.

3) What can I run with sudo?

  • Installing a new package: `sudo apt-get install package_name`
  • Updating the system: `sudo apt-get update && sudo apt-get upgrade`
  • Modifying system configurations: `sudo nano /etc/fstab`
  • Starting a system service: `sudo systemctl start service_name`
  • Stopping a system service: `sudo systemctl stop service_name`
  • Creating a new user account: `sudo useradd username`
  • Changing file permissions: `sudo chmod 755 file_name`

4) What is difference between su and sudo command in Linux?

In Linux, the su (switch user) command enables users to log in as another user, often the root user, and access their files and settings. In contrast, the sudo command enables users to run certain commands with increased privileges without logging in as the root user. Sudo is a more secure method of granting temporary root privileges to users.

5) How do I give and take user sudo access in Linux?

In Linux we can give or take `sudo` access by adding or removing the username from the file called `sudores`. To add username to the sudoers we need to run `sudo visudo` command and edit the file and add the line that will give access to user. For example: “username ALL=(ALL:ALL) ALL” gives the user complete access to the sudo command.

And We can disable a user’s sudo access by using the same command “sudo visudo” which will be used to edit the sudoers file and remove the line that gives them sudo access. Once the line is deleted, the user will no longer be able to use the sudo command to execute privileged commands.

Источник

Читайте также:  Linux change java home

Как использовать команду sudo в Linux

img

Sudo означает SuperUser DO и используется для доступа к файлам и операциям с ограниченным доступом. По умолчанию Linux ограничивает доступ к определенным частям системы, предотвращая компрометацию конфиденциальных файлов.

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

Как использовать команду sudo

Установка sudo

Пакет sudo установлен в большинстве дистрибутивов Linux.

Чтобы проверить есть ли у вас эта комманда введите sudo . Вы увидите справочное сообщение или сообщение о том что комнада не найдена.

Чтобы установить sudo используйте для Ubuntu и Debian:

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

Синтаксис

Опции

sudo можно использовать с дополнительными параметрами:

  • -h — отображает синтаксис и параметры команды
  • -V — отображает текущую версию приложения sudo
  • -v — обновить лимит времени на sudo без запуска команды
  • -l — перечисляет права пользователя или проверяет конкретную команду
  • -к — завершить текущие привилегии sudo

Дополнительные параметры можно найти с помощью ключа -h .

sudo -h

Примечание. Оставаться в системе как администратор ставит под угрозу безопасность сервера. Раньше администраторы использовали su (substitute user) для временного переключения на учетную запись администратора. Однако для команды su требуется вторая учетная запись пользователя и пароль, что не всегда возможно.

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

Предоставление привилегий sudo

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

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

RedHat и CentOS

В Redhat и CentOS wheel группа контролирует пользователей sudo . Добавьте пользователя в группу wheel с помощью следующей команды:

usermod –aG wheel [username]

Замените [username] фактическим именем пользователя. Возможно, вам потребуется войти в систему как администратор или использовать команду su .

Debian и Ubuntu

В Debian и Ubuntu группа sudo (sudo group) контролирует пользователей sudo . Добавьте пользователя в группу sudo с помощью следующей команды:

Использование visudo и группы sudoers

В некоторых современных версиях Linux пользователи добавляются в файл sudoers для предоставления привилегий. Это делается с помощью команды visudo .

Читайте также:  Пользователь линукс имеет доступ

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

Это откроет /etc/sudoers для редактирования. Чтобы добавить пользователя и предоставить полные права sudo , добавьте следующую строку:

ALL=(ALL:ALL) ALL

Сохраните и выйдите из файла.

Вот разбивка предоставленных привилегий sudo :

[username] [any-hostname]=([run-as-username]:[run-as-groupname]) [commands-allowed]

Примечание. Проще добавить пользователя в группу sudo или wheel, чтобы предоставить права sudo . Если вам нужно отредактировать файл конфигурации, делайте это только с помощью visudo . Приложение visudo предотвращает сбои, ошибки и неправильные настройки, которые могут нарушить работу вашей операционной системы.

Тайм-аут пароля sudo

По умолчанию sudo просит вас ввести пароль после нескольких минут бездействия. Изменить это время ожидания по умолчанию, можно отредактировав файл sudoers с помощью visudo и измените время ожидания, добавив строку как в примере, где 10 — это время ожидания, указанное в минутах:

sudo visudo Defaults timestamp_timeout=10

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

Defaults:user_name timestamp_timeout=10

Примеры sudo в Linux

Основное использование Sudo

1. Откройте окно терминала и попробуйте выполнить следующую команду:

2. Вы должны увидеть сообщение об ошибке. У вас нет необходимых разрешений для запуска команды.

apt-get update

3. Попробуйте ту же команду с sudo:

4. При появлении запроса введите свой пароль. Система выполнит команду и обновит репозитории.

sudo apt-get update

Выполнить команду от имени другого пользователя

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

2. Система должна отображать ваше имя пользователя. Затем выполните следующую команду:

sudo –u [другое_имя_пользователя] whoami

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

whoami

Переключиться на root пользователя

Эта команда переключает вашу командную строку на оболочку BASH от имени пользователя root :

Ваша командная строка должна измениться на:

root@hostname:/home/[имя пользователя]

Значение имени хоста будет сетевым именем этой системы. Имя пользователя будет текущим именем пользователя, вошедшим в систему.

sudo bash

Выполнить предыдущие команды с помощью sudo

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

Это также работает со старыми командами. Укажите исторический номер следующим образом:

В этом примере повторяется 6-я запись в истории с командой sudo.

Запуск нескольких команд в одной строке

Соедините несколько команд вместе, разделенных точкой с запятой:

sudo ls; whoami; hostname

Добавить строку текста в существующий файл

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

echo ‘string-of-text’ | sudo tee –a [path_to_file]
echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

echo ‘string-of-text’ | sudo tee –a [path_to_file]

Заключение

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

Источник

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