logo

Linux sudo

Въведение

Командата Linux sudo означава Super User Do . Обикновено се прилага като префикс на няколко команди, които суперпотребителят има право да изпълнява.

Ако префиксираме командата заедно с други команди, тя ще изпълни тази команда с високи привилегии. С други думи, това ще позволи на потребителя заедно с правилното разрешение да изяде команда като други потребители като суперпотребителя.

Това е равно на опцията 'изпълни като администратор' в Windows. Опцията sudo ни позволява да имаме повече от един администратор. Потребителите, които могат да прилагат командата sudo, изискват записът във файла sudoers да е позициониран на '/etc/sudoers/' .

Забележка: За да прегледате или редактирате файла, трябва да приложим командата sudo. За редактиране на файла се препоръчва да приложите командата 'visudo'.

Командата sudo по подразбиране изисква потребителите да се потвърдят заедно с парола, която е паролата на потребителя, а не самата парола на root.

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

Синтаксисът на командата sudo е споменат по-долу:

 sudo OPTION... COMMAND 

Опция в командата sudo

Някои от важните опции в командата sudo са обяснени по-долу:

1. -В: Това означава версия . Тази опция активира командата sudo за отпечатване на номера на версията и изход. Опцията -V ще разпечата паузата по подразбиране на sudo списъка, ако искащият потребител вече е root.

Linux sudo

2. -l: Това означава списък . Тази опция ще ви помогне да разпечатате различните команди, разрешени на потребителя през текущия хост.

Това показва, че текущият потребител може да приложи всяка команда като sudo.

setinterval javascript
Linux sudo

3. -h или -help: h означава помогне в тази опция. Тази опция активира командата sudo за отпечатване на съобщение за употребата и изхода.

Linux sudo

4. -в: Това означава валидирам . Ако командата sudo актуализира клеймото за време на потребителя, проверката ще поиска паролата на потребителя, ако е необходимо. Той удължава времето за изчакване на командата sudo за останалите 5 минути, но не изпълнява команда. Не дава никакъв резултат.

5. -k: Това означава убивам . Тази опция обезсилва клеймото за време на потребителя към sudo. Следователно при следващото изпълнение на командата sudo ще се изисква парола. Опцията -k не се нуждае от парола и беше включена, за да позволи на потребителите да отменят разрешенията на командата sudo чрез .излез от профила си файл.

6. -b: Това означава заден план . Тази опция информира командата sudo да изпълни предоставените команди във фонов режим.

Забележка: Ако приложим тази опция, не можем да приложим контрол на задачите на shell за манипулиране на процеса.

Linux sudo

7. -К: Тази опция е същата като опцията -k. Въпреки това, това означава сигурно убивам . Тази опция се прилага за пълно премахване на времевия печат на потребителя. По същия начин не се нуждае от парола.

8 стр: Това означава подкана . Тази опция ни позволява да заменим подканата за парола (по подразбиране) и да приложим персонализирана. Разрешени са няколко процента бягства, които са както следва:

  • %u е разработен до името за вход на извикващия потребител.
  • %U е разработен за потребителското име за вход
  • %h е разработен до името на хоста (локален) без име на домейна.
  • %H се разработва до името на хоста (локален) с името на домейна (само когато името на хоста на машината е напълно квалифицирано)
  • %% (два последователни знака) могат да бъдат разделени на отделен % знак.
Linux sudo

9. -n: Тази опция ще изпълни командата, без да иска паролата. Много е полезно, ако искаме да изпълним няколко команди като фонови задачи (или вътре в скрипта на обвивката), където не желаем командата sudo да пита за паролата. Тази опция е съкращение от неинтерактивен.

c++ разделяне на низове

10. -в: Това означава потребител . Тази опция позволява на командата sudo да изпълнява описаните команди, различни от root като потребител. За уточняване на a uid вместо потребителското име, можем да използваме #uid .

11. -H: Това означава У ДОМА . Тази опция може да зададе a Променлива на средата HOME на нашия начална директория на потребителя root, както е описано във файла passwd. Командата sudo по подразбиране не променя HOME.

12. -s: Това означава черупка . Тази опция изпълнява обвивката, описана чрез a Променлива на средата SHELL когато е зададен или тази обвивка, както е описано вътре в passwd файл.

Ръдиард Киплинг ако е обяснение

13. -S: Това означава stdin . Тази опция разрешава командата sudo за четене на паролата чрез стандартен вход, а не през терминалното устройство.

14. -: Тази опция илюстрира, че командата sudo трябва да спре да обработва аргументите на командния ред. Най-полезно е в комбинация с флаг -s.

15. -а: Това означава тип удостоверяване . Тази опция активира командата sudo за използване на описания тип удостоверяване, ако валидирате потребител, както е разрешено от /etc/login/.config .

Администраторът на системата може да опише списъка с методи за sudo-специфично удостоверяване, като включи 'auto-sudo' влизане вътре в /etc/login/.config .

Linux sudo

Променливи на средата в командата sudo

Следват някои от променливите на средата, които се прилагат от командата sudo:

Да не. Етикет Описание
1. РЕДАКТОР Това е редактор по подразбиране, който може да се използва в режим -e (sudoedit), когато VISUAL не е коригиран.
2. У ДОМА Той ще се зададе на homedir на потребителя (целта) в режим -H или -s (или когато командата sudo е създадена с опцията, т.е. -enable-shell-sets-home).
3. ПЪТЕКА Той се задава на нормалната стойност, когато опцията, т.е. secure_path sudoers, е фиксирана.
4. ЧЕРИДА Може да се използва за определяне на обвивката за изпълнение с опцията -s.
5. SUDO_КОМАНДА Той се задава на команда, изпълнявана от командата sudo.
6. SUDO_PROMPT Може да се използва като подкана за парола (по подразбиране).
7. SUDO_USER Задава потребителското име за влизане, който изисква командата sudo.
8. SUDO_UID Настройва се на uid на потребителя, който изисква командата sudo.
9. SUDO_GID Настройва gid на потребителя, който изисква командата sudo.
10. SOUTH_PS1 PS1 ще бъде фиксиран на своята стойност, ако е зададен.
единадесет. ПОТРЕБИТЕЛ Задава се на потребителя (root, освен ако не е описана опцията, т.е. -u).
12. ВИЗУАЛЕН Това е редактор по подразбиране и използва в режим -e (sudoedit).

История на командата sudo

Клиф Спенсър и Робърт Когешол написаха действителната подсистема през 1980 г. в SUNY/Buffalo в Департамента по компютърни науки. Робърт Когешъл носеше sudo в университета в Колорадо Боулдър със себе си. По същество функциите и кодът бяха променени от ИТ членовете на Инженерния колеж и отдела по компютърни науки и приложни науки на Университета на Колорадо Боулдър с Тод С. Милър между 1986-1993 г.

Публично най-новата версия се управлява от 1994 г. насам от Тод .C Милър (разработчик на OpenBSD) и се споделя от 1999 г. при лиценза в стил ISC.

Томас Клабърн характеризира тази несигурност като преувеличена през ноември 2009 г. в отговор на това, че Microsoft има привилегия sudo. Накратко, претенциите бяха оформени в конкретен GUI вместо подхода sudo.

Дизайн на командата sudo

Потребителите могат да предоставят своята парола на sudo, когато е необходимо, вместо суперпотребител, за разлика от командата su. Той позволява на достъпни потребители да упражняват квалифицирани привилегии, без да се занимава с тайна на паролата на другия акаунт.

  • Когато конфигурационният файл позволява достъп на потребителя, след удостоверяване системата изисква заявената команда.
  • Командата sudo запазва правата за извикване на потребителя с гратисен период (обикновено 5 минути) на псевдотерминал и позволява на потребителя да изпълнява различни последователни команди като претендирания потребител, без да се налага отново да дава парола.
  • Командата sudo може да бъде конфигурирана за регистриране на всяка изпълнена команда като функция за проверка и сигурност.
  • В момента, когато потребител прави снимки за извикване на командата sudo, без да е посочен в конфигурационния файл, на този потребител се представя илюстрация на изключение, която казва, че изстрелът е записан.
  • Записът ще бъде запазен в системата и root потребителят ще бъде информиран по пощата.

Конфигуриране на командата sudo

The /etc/sudoers файлът включва потребителските групи или списъка с потребители с разрешение за изпълнение на набор от команди, като същевременно съдържа правата на root потребител или друг потребител в списъка. Програмата може да е конфигурирана да се нуждае от парола.

Въздействие на командата sudo

В няколко системни дистрибуции командата sudo измести използването (по подразбиране) на различно влизане на суперпотребителя за различни административни операции, най-важното в няколко дистрибуции на macOS на Apple, както и Linux.

dhl означава какво

Той предотвратява няколко експлойта и също така позволява по-защитено регистриране на администраторските команди.

RBAC

Командата sudo може да се използва за преминаване между различни типове роли в рамките на ролевия контрол на достъпа в сътрудничество със SELinux.

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

Visudo е помощна програма от командния ред, която позволява редактиране на конфигурационния файл на sudo по безопасен начин. Той извършва проверки на синтаксиса и надеждността и също така предотвратява повече от една едновременна редакция заедно със заключвания.

Програмата runas улеснява същата производителност в Microsoft Windows; въпреки това не може да предава текущи дълги командни редове на дете, променливи на средата или директории.

Не поддържа общо повдигане, но помага да се изпълни детето като всеки друг потребител. За windows истински sudo и su, които могат да прехвърлят всяка от тези подробности за състоянието и да започнат детето като друг потребител или повишени, се добавят с Черупка Хамилтън С .

GUI е достъпен за sudo ( gksudo по-специално), но е отхвърлен в Debian и вече не е в Ubuntu. Различни други типове потребителски интерфейси не са проектирани директно на sudo, но улесняват същото повишаване на привилегиите (временно) за административни цели като Услуги за оторизация на Mac OS X, Контрол на потребителските акаунти в Microsoft Windows , и pkexec в Unix-подобните операционни системи .

От 5.8 версия на OpenBSD (октомври 2015 г.), дарявам е на разположение. Посочено е да замести командата sudo в основната система на OpenBSD.

неговият срещу sudo

Ако сме свикнали с по-класическа настройка на Linux, тогава сме свикнали да прилагаме командата su за получаване на root права. Можем да издадем командата su и за ефективно влизане като root (домът на root става наш дом).

Използвайки тези видове дистрибуции, можем да влезем и като потребител на маршрут. Но не е добра идея да влизате като root потребител. Ако прилагаме дистрибуция, която зависи от командата su и позволява влизане на root потребител, тогава влезте като наш стандартен потребител и командата su на root потребител.

Най-вероятно ще забележим, че не можем да влезем като root потребител, използвайки базирани на sudo дистрибуции. Всъщност в някои дистрибуции като Ubuntu акаунтът на root потребителя е деактивиран.

Не можем да влезем като root потребител и да използваме командата su, за да станем root потребител. Можем да издадем тези команди с помощта на командата sudo за получаване на административни привилегии.

Използване на команда sudo

Има два различни начина за изпълнение на административни приложения с Linux. Или можем да променим суперпотребителя или root потребителя с помощта на командата su или можем да се възползваме от командата sudo.

Когато използваме времето си на терминала, sudo е една от важните команди, които ще използваме доста често. Използването на командата sudo вместо влизане като root потребител е по-защитено, защото можем да предоставим само няколко административни привилегии на един потребител без той/нейното знание за root паролата.

linux команди, които

Как ще го внедрим зависи от дистрибуцията, която използваме. Няколко дистрибуции позволяват на root потребител (като OpenSUSE, Red Hat , или Fedora ), докато някои не (харесват Debian и Ubuntu ).

Използването на командата sudo е просто в най-основната си форма. Например, трябва да изпълним dpkg за инсталиране на софтуерна част. Ако просто стартираме dpkg -i софтуер.deb като стандартен потребител ще получим съобщение за грешка, че потребителят няма разрешения да изпълни командата.

Ето защо по подразбиране стандартните потребители не могат да инсталират различни приложения на Linux машина. Ако искаме да инсталираме някакво приложение на Linux машината, трябва да имаме привилегиите на суперпотребител.

Вместо това ще стартираме sudo dpkg -i software.deb команда, за да можем да изпълним инсталацията успешно.

Инсталиране на командата sudo

Пакетът на командата sudo е предварително инсталиран в повечето дистрибуции на Linux. За да потвърдите, че пакетът е инсталиран в нашата система, трябва да следвате стъпките по-долу:

  • Първо, отворете нашия терминал.
  • Въведете sudo и щракнете върху бутона за въвеждане.
  • Ако имаме инсталиран пакет sudo в нашата система, той ще покаже кратко съобщение.
  • В противен случай ще ви уведомим със съобщение, т.е. командата sudo не е намерена.
  • Ако пакетът не е инсталиран, можем лесно да инсталираме този пакет, като приложим пакетния мениджър на свръхразпределението.

Инсталирайте Sudo на Fedora и CentOS

 $ yum install sudo 

Инсталирайте Sudo на Debian и Ubuntu

 $ apt install sudo 

Linux sudo

Команда за актуализиране на sudo

Linux sudo