Чому його називають судо?


30

Чому ми використовуємо sudoдля виконання термінальної команди як адміністративного? Чому це не adminщось чи інше? Чи є причина sudo?


19
Читайте sudo lsяк "суперрусери, робіть ls" (і ні, це не дурно, мнемоніка важлива для запам'ятовування команд) (і ні, ймовірно, це означає " s witch u ser and do , якщо це suозначає, що користувач перемикає. Але я вважаю, що колишній найприємніший; -))
Рмано

1
суперрусер набагато краще, ніж адміністратор :) дякую за відповідь.
Мохаммед

2
Це те суду вуду, яке ти робиш. :)
Шадур

14
Веселий факт: по-італійськи sudoозначає (I) піт . Мені подобається трактувати sudo Xяк пітливість через страх дати неправильну команду та витерти всі мої дані . Це допомагає мати на увазі, що ви повинні додавати sudoперед командами лише тоді, коли 1) Це необхідно 2) Ви знаєте, що ви робите 3) Ви ретельно написали та прочитали командний рядок, щоб уникнути помилок (особливо поганих пробілів, у яких важко вилов і може призвести до справді жахливих несподіваних результатів).
Бакуріу

2
@Rmano su спочатку означав "суперкористувач", "замінник користувача" з'явився пізніше .
Жил "ТАК - перестань бути злим"

Відповіді:


32

З Вікіпедії :

sudo - програма для операційних систем, схожих на Unix, яка дозволяє користувачам запускати програми з привілеями безпеки іншого користувача (як правило, суперпользователя або root). Його назва - об'єднання "su" (заміна користувача) і "do", або вживати заходів.

На відміну від команди su, користувачі зазвичай подають свій власний пароль для sudo, а не пароль root. Після аутентифікації і якщо файл конфігурації / usr / local / etc / sudoers (іноді його можна знайти в / etc / sudoers) дозволяє користувачеві отримати доступ, система викличе запитувану команду. Файл конфігурації sudoers дозволяє отримати величезну кількість конфігурацій, включаючи, але не обмежуючись цим: ввімкнення кореневих команд лише з терміналу викликання; не вимагає пароля для певних команд; вимагає пароля для користувача або групи; вимагає повторного введення пароля кожен раз або взагалі ніколи не вимагає пароля для певного командного рядка. Він також може бути налаштований для дозволу передачі аргументів або декількох команд і навіть підтримує команди з регулярними виразами.

Це тимчасова одноразова команда з правами суперпользователя (адміністратора) без прямого кореневого входу.


11
Вікі-частина правильна. Коментар про "Mac is Su" невірний. Маки мають і те sudo, і suBSD та Linux.
daviewales

@Virusboy Привіт, вибачте, спробувавши в цій темі. Але я повинен знати, чи легко користуватися ubuntu 14.04 з Toshiba M840 i3-3110M. Дякую.
Бонн

Це легко на будь-якому ПК
Virusboy

21

xkcd: Sandwich

До sudo більшість адміністраторів увійшли як кореневий користувач, оскільки це простий спосіб налаштувати вашу систему, оскільки у вас є всі права. Однак невелика помилка чи неправильне інтернет-зв’язок та вся ваша система можуть бути порушені або навіть зірвані.

Через цю проблему з’явилося судо . Метою було використання адміністративних пільг лише на короткий проміжок часу, і лише за потреби. Крім того, це дозволить уникнути входу користувача в інший обліковий запис. Це очевидно підвищило б безпеку системи .

Під Ubuntu вони вирішили підвищити безпеку вашої системи. Таким чином, вони вирішили йти шляхом «судо». Користувальник root вимкнено; в цьому немає потреби, а особливо немає ризику, щоб користувач увійшов через X-інтерфейс з користувачем root. Крім того, вони дозволили запускати кожну команду з sudo для авторизованих користувачів. Прикольна річ у тому, що користувачі енергії можуть отримати доступ до кореневого облікового запису.

Недоліки sudo :

  • Які команди ви дозволяєте через sudo
  • Потрібно писати sudoраніше кожною командою, яка вимагає права адміністратора
  • Кожен так часто потрібно повторно вводити пароль .

Що робить sudo означає? Його назва - об'єднання "su" (заміна користувача) та "do".

Чому sudoні admin? Я думаю, що sudoозначаєadmin конкретний час і лише тоді, коли це потрібно.

Люди, які приїжджають із середовища Windows, повинні розуміти, чому це не так admin :)

Список літератури: Зображення сайту
: xkcd


так чому його не називають родо?
JamesRyan

3
Ваш пункт "до судо" неправильний. Різниці між ними suі sudoв цьому відношенні немає, єдина різниця між ними - те, які облікові дані використовуються. Використання sudo, ніж suне є більш безпечним (насправді, це дещо менш безпечно); головна перевага sudo (і причина, чому Ubuntu обрав його) - простота для користувача (пам'ятати лише один пароль).
Жил "ТАК - перестань бути злим"

11

Від Linux.com, продукту Linux Foundation:

Судо розшифровується як " замінник користувача ", так і " супер користувач " (залежно від того, як ви хочете на це подивитися). Те, що робить судо, є надзвичайно важливим та вирішальним для багатьох дистрибутивів Linux. Ефективно, sudo дозволяє користувачеві запускати програму як інший користувач (найчастіше користувач root).

[Наголос моє.] Джерело


3

суперрузер робити

Є команда, су, для того, щоб стати суперпользователем, так що ви можете сказати

$ su
# apt-get install somehorror
# exit
$

sudo дозволяє вам робити це одним махом, і вам не потрібно пам'ятати, щоб відмовитись від своїх магічних сил.

$ sudo apt-get install somehorror

2
su("замінник користувача") дозволяє вам стати будь-яким користувачем: ви можете вказати ім'я користувача як аргумент.
Девід Річербі,

1
Власне, вони не зовсім однакові, але схожі в більшості випадків. Але судо в основному просто дозволяє запускати програму з привілеями супер користувача, але зберігає ваше нормальне середовище таким же. Ви насправді робите супер користувачем із середовищем супер користувача.
Марті Фрід

3

Що стосується того, чому це не "адміністратор" - або, більш опосередковано, чому su не "switchUser" або щось подібне - традиційні команди Unix, як правило, є мінімальними абревіатурами з історичних причин, пов'язаних з походженням Unix.

З найосновнішої причини нам потрібно повернутися до тієї ж причини, яка називається в першу чергу Unix. Багато з Unix надихнуло одну з ранніх багатокористувацьких багатозадачних операційних систем, MIT's Multics. (Unix отримує свою назву або як "сингл Мультікс" або "Кастрований Мультик", залежно від того, кого ви запитуєте та їх настрою в даний момент.)

Серед інших інновацій Multics, він представив концепцію відокремлення фактичного розташування файлу від інформації про каталог, що дозволяє одному файлу мати кілька імен. ("Посилання", з точки зору Unix.) Мультимедіа скористалися (надто) повною мірою цим; більшість команд Multics мають як ALongNameThatIsImpossibleToType, так і ASNTOECR (коротке ім'я, яке можуть запам'ятати лише фахівці). Досвід показує, що довгі імена дійсно не додавали багато зручності користувачеві, оскільки, реально, в той час усі користувачі або швидко стали "експертами", і майже ніхто ніколи не використовував довгі імена. Коли Unix прийняла деякі проекти Multics, одним із їх спрощень було відмовитися від невикористаних довгих імен та зберегти лише зручні короткі імена.

Це також добре поєднується з філософією Unix щодо скорочення операційної системи та її основної команди, встановленої до їх основного, дозволяючи їй ефективно працювати на менших системах. У ті часи програмісти все ще зберігали кожен можливий байт і цикл. Процесори були надзвичайно повільніші, термінальні швидкості були також надзвичайно повільнішими, а пам'ять була надзвичайно дорожчою (і повільніше, і мала крихітні кеші, якщо такі були). Зведення системних команд до мінімальної довжини, можливо, насправді не заощадило багато (якщо такі є) реальних ресурсів, але воно «відчувало себе правильним» для розуму часу.

Якщо ви дійсно наполягаєте на зручних іменах команд, відповідь Unix буде: "Ви знаєте, як написати скрипт оболонки; реалізуйте його самостійно. Якщо ви не знаєте, як написати скрипт оболонки, вам потрібно навчитися робити" Так що, якщо вам не подобається вчитися та / або кодувати, ви не будете задоволені Unix і вам слід використовувати щось інше ".


3

Незалежно від того, що " суперпользователь " su походить від цього, воно є неточним, оскільки ім'я користувача, яке ви даєте, не повинно бути суперпользователем. Дітто для виконання команд як інший користувач, який використовуєsudo -u .

" Замінити користувача " є більш точним, але звучить незграбно. Це змушує мене думати про заступника вчителя.

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


1
завжди це супер користувачеві, але замінити звучання користувачем правильніше
BeyondProgrammer

1

З веб-сайту Судо :

"Що таке Судо?

Sudo (su "do") дозволяє системному адміністратору делегувати повноваження, щоб надати певним користувачам (або групам користувачів) можливість запускати деякі (або всі) команди як root або інший користувач, надаючи слід аудиту команд та їх аргументів . "

"Судо вперше був задуманий і реалізований Боб Коґендхоллом і Кліффом Спенсером близько 1980 року на кафедрі комп'ютерних наук в SUNY / Буффало. Він працював на VAX-11/750, що працює під управлінням 4.1BSD. Оновлена ​​версія, зарахована Філом Бетчелом, Кліфом Спенсером , Гретхен Філліпс, Джон ЛоВерсо та Дон Гворек, були розміщені в групі новин нет-джерел Usenet у грудні 1985 року. "

Це сказав, хоча я не вірю, що є докази, я завжди твердо вірив, що це ім'я було своєрідним жартівливим жартів програміста. У вас є команда "su" (суперкористувач) "do", але ви насправді не супер користувач - перетворіть "doo" на "doh", а "sudo" виглядає / звучить дуже схоже на "pseudo" (фейк , ганьба).


-2

Більшість людей дають відповідь, що це сукупність "супер користувачів робити". Мені це подобається, але може бути правильніше сказати, що це розшифровка "користувача-замінника робити", оскільки ви можете вибрати того, хто користувач ви "робите", як із прапором -u.

Я також вважаю це як гру словом psuedonym, тому що ви можете прикидатися кимось іншим, або root, або будь-яким іншим користувачем, використовуючи прапор -u.


3
Що ж, питання полягало в тому, чому його називають таким, яким воно є, а не для назви та / або мнемоніки, тож ... [потрібна цитата]
derobert

Також мета по замовчуванням користувач по не повинен бути root(хоча це має сенс для того , щоб бути або , по крайней мере , один з ідентифікаторами 0 і це взагалі), см runas_defaultв sudoers.
Стефан Шазелас

@derobert +1 для використання "задніх імен" та для збереження сайту чистим від неправильних відповідей.
три чашки

@sch дякую, я цього не знав.
три чашки
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.