logo

Команда sudo в Linux із прикладами

sudo ( С верхній IN бути ЗРОБИТИ ) команда в Linux зазвичай використовується як префікс для деяких команд, які можуть виконувати лише суперкористувачі. Якщо додати до будь-якої команди префікс sudo, вона запустить цю команду з підвищеними привілеями або, іншими словами, дозволить користувачеві з відповідними дозволами виконувати команду як інший користувач, наприклад суперкористувач. Це еквівалент параметра запуску від імені адміністратора в Windows. Опція sudo дозволяє нам мати кількох адміністраторів.

Ці користувачі, які можуть використовувати sudo команда повинна мати запис у sudoers файл, розташований за адресою /etc/sudoers . Пам’ятайте, що для редагування або перегляду файлу sudoers потрібно використовувати команду sudo. Для редагування файлу sudoers рекомендується використовувати команду visudo.

За замовчуванням sudo вимагає, щоб користувачі автентифікувалися за допомогою пароля, який є паролем користувача, а не самим паролем root.



Синтаксис команди sudo:

  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>

Параметри, доступні в команді sudo

Опції опис Синтаксис
-IN Опція -V (версія) змушує sudo друкувати номер версії та завершувати роботу. Якщо користувач, який викликає, вже є root, параметр -V роздрукує список стандартних значень, з якими було скомпільовано sudo.
  sudo -V>
Параметр -l (список) виведе команди, дозволені (і заборонені) користувачеві на поточному хості.
  sudo -l>
-h або –help Параметр -h (довідка) змушує sudo друкувати повідомлення про використання та завершувати роботу.
  sudo -h>
Якщо задано параметр -v (підтвердити), sudo оновить мітку часу користувача, за потреби запитуючи пароль користувача. Це подовжує тайм-аут sudo ще на 5 хвилин (або як зазначено в sudoers), але не виконує команду. Це не дає жодного результату.
  sudo -v>
Параметр -k (kill) sudo робить мітку часу користувача недійсною. Отже, наступного разу, коли sudo буде запущено, потрібно буде ввести пароль. Цей параметр не потребує пароля та був доданий, щоб дозволити користувачеві відкликати дозволи sudo для файлу виходу.
  sudo -k>
Подібно до параметра -k, параметр -K (впевнене знищення) використовується для повного видалення мітки часу користувача. Крім того, ця опція не вимагає пароля.
  sudo -K>
Параметр -b (фоновий) вказує sudo виконувати дану команду у фоновому режимі. Зауважте, що якщо ви використовуєте параметр -b, ви не можете використовувати оболонку контроль роботи маніпулювати процесом.
  sudo -b [command]>

(замініть команду на команду, яку потрібно запускати у фоновому режимі)

-стор Команда sudo -p prompt дозволяє налаштувати запит пароля, який sudo відображає, коли запитує пароль користувача. За замовчуванням sudo відобразить загальний запит пароля, який виглядає так
  sudo -p 'Enter your password' [command]>

(замініть команду на команду, яку потрібно запускати у фоновому режимі)

лістинг java
-п Параметр -n дозволяє sudo виконувати команду без запиту пароля. Цей параметр корисний під час запуску команд sudo як фонових завдань або у сценарії оболонки. Параметр -n означає неінтерактивний.
  sudo -n [command]>

(замініть команду на команду, яку потрібно запускати у фоновому режимі)

'abc's in numbers'
Параметр -u змушує sudo виконувати вказану команду від імені користувача, відмінного від root. Щоб вказати UID замість імені користувача, використовуйте #uid.
  sudo -u [user] [command]>

(замініть команду на команду, яку потрібно запускати у фоновому режимі)

-s Параметр -s запускає оболонку, визначену змінною середовища SHELL, якщо вона встановлена, або оболонку, як зазначено у файлі passwd.
  sudo -s [command]>

(замініть команду на команду, яку потрібно запускати у фоновому режимі)

Параметр -H встановлює змінну середовища HOME на домашній каталог цільового користувача (за замовчуванням root), як зазначено в passwd. За замовчуванням sudo не змінює HOME.
  sudo -H [command]>

(замініть команду на команду, яку потрібно запускати у фоновому режимі)

Параметр -S змушує sudo зчитувати пароль зі стандартного вводу замість термінального пристрою.
  sudo -S [command]>

(замініть команду на команду, яку потрібно запускати у фоновому режимі)

Параметр -a змушує sudo використовувати вказаний тип автентифікації під час перевірки користувача, як це дозволено /etc/login.conf. Системний адміністратор може вказати список специфічних для sudo методів автентифікації, додавши запис auth-sudo в /etc/login.conf.
  sudo -a [auth-type] [command]>

(замініть команду на команду, яку потрібно запускати у фоновому режимі)

Прапор — вказує на те, що sudo має припинити обробку аргументів командного рядка. Він найбільш корисний у поєднанні з прапорцем -s.
  sudo -- [command]>

(замініть команду на команду, яку потрібно запускати у фоновому режимі)

Вивід кількох команд

1. -V: параметр -V (версія) змушує sudo друкувати номер версії та завершувати роботу. Якщо користувач, який викликає, вже є root, параметр -V роздрукує список стандартних значень, з якими було скомпільовано sudo.

sudo -V

2. -l: Параметр -l (список) виведе команди, дозволені (і заборонені) користувачеві на поточному хості.

int рядок java

sudo -l

3. -h або –help: Параметр -h (довідка) змушує sudo друкувати повідомлення про використання та завершувати роботу.

sudo -h

Змінні середовища

Ці змінні середовища використовуються sudo

типи об'єднань у rdbms
Тег опис
РЕДАКТОР
Редактор за умовчанням для використання -Це є режим (sudoedit), якщо VISUAL не встановлено
ДІМ
в -s або (або якщо sudo було налаштовано з
–enable-shell-sets-home option), установіть домашній каталог цільового користувача
ШЛЯХ
Встановіть прийнятне значення, якщо безпечний_шлях встановлено параметр sudoers.
ШЕЛЛ
Використовується для визначення запуску оболонки з параметром -s
SUDO_PROMPT
Використовується як запит пароля за умовчанням
SUDO_COMMAND
Встановіть команду, запущену за допомогою sudo
SUDO_USER
Встановіть логін користувача, який викликав sudo
SUDO_UID
Установіть uid користувача, який викликав sudo
SUDO_GID
Установіть gid користувача, який викликав sudo
SOUTH_PS1
Якщо встановлено, для PS1 буде встановлено його значення
КОРИСТУВАЧ Встановіть цільового користувача (root, якщо не варіант вказано)
ВІЗУАЛЬНИЙ
Редактор за умовчанням для використання -Це є режим (sudoedit).

Команда sudo в Linux – поширені запитання

Що таке `sudo` в Linux?

Sudo — це команда в Linux, яка дозволяє користувачам запускати команди з привілеями, які мають лише користувачі root. Це допомагає користувачам виконувати завдання з адміністративними повноваженнями, не входячи в систему як користувач root, хоча іноді це може бути ризиковано.

Для яких команд Linux потрібні привілеї `sudo`?

Є багато команд Linux, які потрібні для виконання з привілеями sudo, наприклад мережеві команди, команди керування пакетами та команди системного рівня. Наприклад, команди, для виконання яких потрібні привілеї sudo, це `yum`, `systemctl`, `mount`, `apt-get`, `fdisk` і `ifconfig`.

Що я можу запустити за допомогою sudo?

Є багато команд Linux, для запуску яких потрібні привілеї sudo, але слід пам’ятати, що їх потрібно використовувати з обережністю, оскільки вони можуть змінити критичні системні конфігурації та файли. Щоб уникнути наслідків, ми повинні перевірити двічі перед виконанням команд. Такі команди, як:

  • Встановлення нового пакета: `sudo apt-get install package_name`
  • Оновлення системи: `sudo apt-get update && sudo apt-get upgrade`
  • Зміна конфігурації системи: `sudo nano /etc/fstab`
  • Запуск системної служби: `sudo systemctl start service_name`
  • Зупинка системної служби: `sudo systemctl stop service_name`
  • Створення нового облікового запису користувача: `ім’я користувача sudo useradd`
  • Зміна прав доступу до файлів: `sudo chmod 755 ім'я_файлу`

Яка різниця між командою su та sudo в Linux?

У Linux команда su (змінити користувача) дозволяє користувачам входити як інший користувач, часто користувач root, і отримувати доступ до своїх файлів і налаштувань. Навпаки, команда sudo дозволяє користувачам виконувати певні команди з підвищеними привілеями, не входячи в систему як користувач root. Sudo є більш безпечним методом надання користувачам тимчасових привілеїв адміністратора.

виноски уцінки

Як надати та отримати доступ користувача до sudo в Linux?

У Linux ми можемо надати або забрати доступ до `sudo`, додавши або вилучивши ім’я користувача з файлу під назвою `sudores`. Щоб додати ім’я користувача до sudoers, нам потрібно запустити команду `sudo visudo`, відредагувати файл і додати рядок, який надасть доступ користувачеві. Наприклад: ім’я користувача ALL=(ALL:ALL) ALL надає користувачеві повний доступ до команди sudo.

І ми можемо вимкнути доступ користувача до sudo, використовуючи ту саму команду sudo visudo, яка використовуватиметься для редагування файлу sudoers і видалення рядка, який надає йому доступ sudo. Після видалення рядка користувач більше не зможе використовувати команду sudo для виконання привілейованих команд.

Висновок

У Linux цеsudo>Команда діє як чарівний ключ, який відкриває особливі повноваження, дозволяючи вам виконувати важливі завдання, які зазвичай може виконувати лише суперкористувач. Це спосіб запиту дозволу на виконання команд із підвищеними привілеями, як-от інсталяція програмного забезпечення чи зміна параметрів системи. Ти використовуєшsudo>перед командою, щоб показати, що вам дозволено запускати її як суперкористувач. Використовуватиsudo>, зазвичай вам потрібно ввести власний пароль, щоб підтвердити, що це робите ви, а не хтось інший. Пам'ятайте,sudo>потужний, тому використовуйте його обережно! Це може змінити важливі речі на вашому комп’ютері. По розуміннюsudo>і його параметри, ви можете використовувати Linux більш ефективно та безпечно.