Чому я повинен `судо`?


12

Я дотримувався декількох навчальних посібників на моєму RPi, і багато команд починаються з цього sudo; що це означає і що це робить?



7
Це чудове запитання, я можу уявити, що багато початківців бажають інформації з цього приводу.
berry120

@ berry120 так, але це більше підходило б для Unix / Linux SE, тому що люди також запускають свої Pi на інших ОС (я дивлюся на вас, RISC OS!)
evamvid

Whaaaat? Питання рік! зробіть це 2 роки!
evamvid

@evamvid Це було одне з перших прикладних запитань на RPi.SE ...
Алекс Чемберлен

Відповіді:


21

sudoрозшифровується як Super User Do; це дозволяє запускати як іншого користувача, як правило, суперкористувача ( root), виконувати адміністративні завдання, такі як оновлення програмного забезпечення, зміна файлових систем та запуск демонів.

rootмає максимальну силу і може працювати майже все, що завгодно. Тому це може завдати великої шкоди вашій системі, і в гіршому випадку вам доведеться почати заново.

Ви завжди повинні розуміти, що робить команда, перш ніж виконувати її.

Чому ми маємо sudo?

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

Чому ми не входимо так, rootколи хочемо підвищених дозволів?

sudo дозволяє адміністраторам контролювати, які команди може виконувати кожен користувач root . Наприклад, ваш адміністратор може дозволити вам працювати apt-getяк root, але нічого іншого. Крім того, всі команди, за допомогою sudoяких виконується , увійшли в систему /var/log/auth.log.

Інші дистрибуції

Зображення Debian за замовчуванням sudoвстановлено заздалегідь, але інші можуть не робити. Ви можете часто встановлювати його за допомогою диспетчера пакунків дистрибутивів або досліджувати інші способи отримання кореневих дозволів.

Арк

Ви можете встановити, sudoвикористовуючи pacman: run pacman -S sudoasroot . Потім слід додати нового користувача та вимкнути rootобліковий запис.

су

В Arch Linux (та інших дистрибутивах, які його підтримують) ви можете використовувати suкоманду (замінити користувача), щоб визначити особу будь-якого іншого користувача (в т.ч.root ). Це означає, що всі ваші майбутні команди (у поточному сеансі) матимуть свої дозволи. Однак вам буде потрібно їх пароль, і команди, які ви запускаєте, обов'язково не будуть реєструватися.

Дивіться також:


1
Як ви вважаєте, чи suможе бути корисна інформація про те, щоб дійсно завершити відповідь?
Алекс Л

Запропонувати редагування під заголовком Інші дистрибуції?
Алекс Чемберлен

На додаток до цього я схильний писати "судо баш", як тільки завантажую пі, щоб уникнути необхідності постійно друкувати судо. Це дозволяє запускати все із супервидовими правами користувача. Це, очевидно, мало небезпечно, але з rpi є мало головного, що ти можеш зробити.
Phalt

1
Це дуже погана звичка потрапляти!
Алекс Чемберлен

1
@phalt Чому тоді ти просто не увійдеш як root?
Відхилення

2

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

Корінь трохи схожий на адміністратора в світі Windows - це ваш кінцевий користувач "вмію робити все".

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