sudo (англ. substitute user do, дослівно "підмінити користувача та виконати") — це програма для UNIX-подібних операційних систем що дозволяє делегувати повноваження тобто виконувати певні програми з правами доступу інших користувачів. Команда sudo надає можливість користувачам виконувати команди від імені root чи інших користувачів.
Команда sudo в терміналі | |
Тип | Безпека |
---|---|
Автори | Robert Coggeshall, Cliff Spencer |
Розробник | Todd C. Miller |
Перший випуск | Приблизно в 1980 |
Операційна система | Unix-like |
Мова програмування | C |
Ліцензія | ISC |
Репозиторій | github.com/sudo-project/sudo |
Вебсайт | www.sudo.ws |
|
Правила, що використовуються sudo для ухвалення рішення про надання доступу, знаходяться в конфігураційному файлі /etc/sudoers. Налаштування конфігураційного файлу може описувати які користувачі, які команди можуть виконувати з правами яких цільових користувачів. Можуть бути прописані додаткові вимоги як наприклад вимога наявності терміналу, вимога введення паролю користувача або групи, вимога вводити пароль щоразу при виконанні команди чи навпаки запам'ятовування факт правильного вводу паролю на деякий час. Для редагування файлу sudoers використовується програма visudo - обгортка над текстовим редактором, яка перевіряє синтаксис конфігураційного файлу і тим самим дозволяє уникнути помилок у правилах.
Основна відмінність від схожої програми su, це те що налаштування відбуваються для поточного користувача, і для виконання потрібно підтвердити повноваження поточного користувача. Наприклад для su потрібно знати пароль root, а для sudo пароль поточного користувача. Це дозволяє і аутентифікувати користувачів, і не розкривати секретний пароль цільового користувача, наприклад root. За замовчуванням для користування sudo користувачі повинні бути в групі wheel або sudo. Для безпеки може бути налаштований механізм аудиту, та реєстрації кожної команди. У випадку якщо були проблеми аутентифікації (користувач не ввів правильно свій пароль) або авторизації (користувач намагався викликати команду на яку не має повноважень), то про це буде сповіщено системному адміністратору.
Приклади
# Користувачі групи sudo можуть виконувати всі команди з повноваженнями root, після введення свого паролю. %sudo ALL=(ALL:ALL) ALL # Користувач user1 має право робити stop, start, restart сервісів без введення пароля. user1 ALL=(ALL) NOPASSWD: /usr/bin/systemctl start,stop,restart # Користувач user2 має право робити stop, start, restart сервісів після введення пароля. user2 ALL=(ALL) ALL: /usr/bin/systemctl start,stop,restart # Користувач user2 має право виконувати команду /path/to/somecommand від імені privelegeduser, без введення пароля. user3 ALL=(privelegeduser) NOPASSWD: /path/to/somecommand
Цікаві факти
Значення назви sudo дискусійне. На офіційному сайті сказано що воно походить від su do. Але що означає su в контексті sudo, є предметом обговорень. Тому що комада su історично значила 'superuser', проте зараз sudo забезпечує делегування повноважень інших користувачів ніж суперкористувач, то спільнота вважає що sudo повинно мати ширше значення. su зараз розкривається як "substitute user" - замінити користувача. Таким чином основні трактування це superuser do, та substitute user do, але ще є варіанти англ. "switch user" або "subshell".
Цікавим фактом є походження логотипу від 2019 року у вигляді сендвічу, яке прямо відсилає до коміксу xkcd .
Повідомлення що виводилось у випадку неправильного вводу пароля, або відсутності повноважень в файлі sudoers - "This incident will be reported." (Про цей інцидент буде повідомлено) виглядало лякаюче, особливо для користувачів своїх персональних комп'ютерів вдома. І здогадки хто саме отримує були предметом жартів.. Було виправлено в 2022 році, що було помічено в спільноті UNIX-користувачів.
Див. також
Посилання
- Вебсайт sudo [ 15 березня 2022 у Wayback Machine.] (англ.)
Примітки
- A Brief History of Sudo
- Miller, Todd C. A Brief History of Sudo. оригіналу за 16 November 2018. Процитовано 15 November 2018.
- https://www.sudo.ws/ Sudo (su “do”)
- "su" can do so much more than Ken and Dennis implemented back then, as already discussed. Surely, the definition of "su" has changed, at least a little? I would hope so. The great thing with human language, is it is dynamic and flexible. We, as a society decide what meanings we put to our words, so as far as we are concerned, "su" could mean so much more than "super user". We can define it to mean "switch user", "substitute user" or "subshell". Or, we can be stubborn, and hold to the old definition from 1975 that "su" means "super user".
- https://xkcd.com/149/
- https://xkcd.com/838/
- https://github.com/sudo-project/sudo/commit/6aa320c96a37613663e8de4c275bd6c490466b01
Це незавершена стаття про програмне забезпечення. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
sudo angl substitute user do doslivno pidminiti koristuvacha ta vikonati ce programa dlya UNIX podibnih operacijnih sistem sho dozvolyaye deleguvati povnovazhennya tobto vikonuvati pevni programi z pravami dostupu inshih koristuvachiv Komanda sudo nadaye mozhlivist koristuvacham vikonuvati komandi vid imeni root chi inshih koristuvachiv sudoKomanda sudo v terminaliTipBezpekaAvtoriRobert Coggeshall Cliff SpencerRozrobnikTodd C MillerPershij vipuskPriblizno v 1980Operacijna sistemaUnix likeMova programuvannyaCLicenziyaISCRepozitorijgithub com sudo project sudoVebsajtwww sudo ws Mediafajli u Vikishovishi Pravila sho vikoristovuyutsya sudo dlya uhvalennya rishennya pro nadannya dostupu znahodyatsya v konfiguracijnomu fajli etc sudoers Nalashtuvannya konfiguracijnogo fajlu mozhe opisuvati yaki koristuvachi yaki komandi mozhut vikonuvati z pravami yakih cilovih koristuvachiv Mozhut buti propisani dodatkovi vimogi yak napriklad vimoga nayavnosti terminalu vimoga vvedennya parolyu koristuvacha abo grupi vimoga vvoditi parol shorazu pri vikonanni komandi chi navpaki zapam yatovuvannya fakt pravilnogo vvodu parolyu na deyakij chas Dlya redaguvannya fajlu sudoers vikoristovuyetsya programa visudo obgortka nad tekstovim redaktorom yaka pereviryaye sintaksis konfiguracijnogo fajlu i tim samim dozvolyaye uniknuti pomilok u pravilah Osnovna vidminnist vid shozhoyi programi su ce te sho nalashtuvannya vidbuvayutsya dlya potochnogo koristuvacha i dlya vikonannya potribno pidtverditi povnovazhennya potochnogo koristuvacha Napriklad dlya su potribno znati parol root a dlya sudo parol potochnogo koristuvacha Ce dozvolyaye i autentifikuvati koristuvachiv i ne rozkrivati sekretnij parol cilovogo koristuvacha napriklad root Za zamovchuvannyam dlya koristuvannya sudo koristuvachi povinni buti v grupi wheel abo sudo Dlya bezpeki mozhe buti nalashtovanij mehanizm auditu ta reyestraciyi kozhnoyi komandi U vipadku yaksho buli problemi autentifikaciyi koristuvach ne vviv pravilno svij parol abo avtorizaciyi koristuvach namagavsya viklikati komandu na yaku ne maye povnovazhen to pro ce bude spovisheno sistemnomu administratoru Prikladi Koristuvachi grupi sudo mozhut vikonuvati vsi komandi z povnovazhennyami root pislya vvedennya svogo parolyu sudo ALL ALL ALL ALL Koristuvach user1 maye pravo robiti stop start restart servisiv bez vvedennya parolya user1 ALL ALL NOPASSWD usr bin systemctl start stop restart Koristuvach user2 maye pravo robiti stop start restart servisiv pislya vvedennya parolya user2 ALL ALL ALL usr bin systemctl start stop restart Koristuvach user2 maye pravo vikonuvati komandu path to somecommand vid imeni privelegeduser bez vvedennya parolya user3 ALL privelegeduser NOPASSWD path to somecommandCikavi faktiZnachennya nazvi sudo diskusijne Na oficijnomu sajti skazano sho vono pohodit vid su do Ale sho oznachaye su v konteksti sudo ye predmetom obgovoren Tomu sho komada su istorichno znachila superuser prote zaraz sudo zabezpechuye deleguvannya povnovazhen inshih koristuvachiv nizh superkoristuvach to spilnota vvazhaye sho sudo povinno mati shirshe znachennya su zaraz rozkrivayetsya yak substitute user zaminiti koristuvacha Takim chinom osnovni traktuvannya ce superuser do ta substitute user do ale she ye varianti angl switch user abo subshell Cikavim faktom ye pohodzhennya logotipu vid 2019 roku u viglyadi sendvichu yake pryamo vidsilaye do komiksu xkcd Povidomlennya sho vivodilos u vipadku nepravilnogo vvodu parolya abo vidsutnosti povnovazhen v fajli sudoers This incident will be reported Pro cej incident bude povidomleno viglyadalo lyakayuche osoblivo dlya koristuvachiv svoyih personalnih komp yuteriv vdoma I zdogadki hto same otrimuye buli predmetom zhartiv Bulo vipravleno v 2022 roci sho bulo pomicheno v spilnoti UNIX koristuvachiv Div takozhsuPosilannyaVebsajt sudo 15 bereznya 2022 u Wayback Machine angl PrimitkiA Brief History of Sudo Miller Todd C A Brief History of Sudo originalu za 16 November 2018 Procitovano 15 November 2018 https www sudo ws Sudo su do su can do so much more than Ken and Dennis implemented back then as already discussed Surely the definition of su has changed at least a little I would hope so The great thing with human language is it is dynamic and flexible We as a society decide what meanings we put to our words so as far as we are concerned su could mean so much more than super user We can define it to mean switch user substitute user or subshell Or we can be stubborn and hold to the old definition from 1975 that su means super user https xkcd com 149 https xkcd com 838 https github com sudo project sudo commit 6aa320c96a37613663e8de4c275bd6c490466b01 Ce nezavershena stattya pro programne zabezpechennya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi