/ / Каква е разликата между Судо и Су в Linux?

Каква е разликата между Судо и Су в Linux?

образ

Ако сте потребител на Linux, вероятно сте виждалипрепратки към судо и су. Статиите тук за How-To Geek и другаде инструктират потребителите на Ubuntu да използват sudo и други потребители на Linux дистрибуции да използват su, но каква е разликата?

Судо и су са два различни начина за получаване на root права. Всяка функция по различен начин и различните дистрибуции на Linux използват различни конфигурации по подразбиране.

Коренният потребител

И su, и sudo се използват за изпълнение на команди сroot права. Потребителят на root е по принцип еквивалентен на потребителя администратор в Windows - root потребител има максимални разрешения и може да прави всичко на системата. Нормалните потребители в Linux работят с намалени разрешения - например те не могат да инсталират софтуер или да пишат в системни директории.

За да направите нещо, което изисква тези разрешения, ще трябва да ги придобиете с su или sudo.

Су срещу Судо

Командата su преминава към супер потребителя - илиroot потребител - когато го изпълнявате без допълнителни опции. Ще трябва да въведете паролата на главния акаунт. Това обаче не е всичко, което командата su прави - можете да го използвате, за да превключите към всеки потребителски акаунт. Ако изпълните изпълнението на су боб команда, ще бъдете подканени да въведете паролата на Bob и черупката ще премине към потребителския акаунт на Bob.

След като приключите с изпълнението на команди в основната обвивка, трябва да въведете изход да напуснете коренната обвивка и да се върнете в режим с ограничени привилегии.

Sudo изпълнява една команда с root права. Когато изпълните команда судо, системата ви подканва да въведете паролата на текущия си потребителски акаунт, преди да стартирате команда като root потребител. По подразбиране Ubuntu запомня паролата в продължение на петнадесет минути и няма да поиска парола отново, докато не изтекат петнайсетте минути.

образ

Това е ключова разлика между су и судо. Su ви превключва към главния потребителски акаунт и изисква паролата на коренния акаунт. Sudo изпълнява единична команда с root права - не преминава към root потребител или не изисква отделна парола за root потребител.

Ubuntu срещу други Linux дистрибуции

Командата su е традиционният начин напридобиване на root права в Linux. Командата sudo съществува отдавна, но Ubuntu беше първата популярна дистрибуция на Linux, която преминава само по подразбиране sudo. Когато инсталирате Ubuntu, се създава стандартният корен акаунт, но не му е зададена парола. Не можете да влезете като root, докато не зададете парола на коренния акаунт.

образ

Има няколко предимства от използването на судовместо su по подразбиране su. Потребителите на Ubuntu трябва да предоставят и запомнят само една парола, докато Fedora и други дистрибуции изискват да създадете отделни пароли за root и потребителски акаунт по време на инсталирането.

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

Дистрибуциите, базирани на Ubuntu, включително Linux Mint, също използват sudo вместо su по подразбиране.

Няколко трика

Linux е гъвкав, така че не е нужно много работа, за да се подобри работата подобно на sudo - или обратното.

За да стартирате една команда като root потребител със su, изпълнете следната команда:

su -c „команда“

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

За да получите пълна, интерактивна коренова обвивка със судо, стартирайте sudo –i.

образ

Ще трябва да предоставите паролата на текущия си потребителски акаунт вместо паролата на коренния акаунт.

Активиране на Root потребител в Ubuntu

За да активирате главния потребителски акаунт в Ubuntu, използвайте следната команда, за да зададете парола за него. Имайте предвид, че Ubuntu препоръчва срещу това.

sudo passwd корен

Sudo ще ви подкани за текущия ви потребителпаролата на акаунта, преди да можете да зададете нова парола. Използвайте новата си парола, за да влезете като root от подкана за влизане в терминала или с командата su. Никога не трябва да изпълнявате пълна графична среда като root потребител - това е много лоша практика за сигурност и много програми ще откажат да работят.

образ

Добавяне на потребители към файла Sudoers

Само акаунти от тип администратор в Ubuntu могат да изпълняват команди със sudo. Можете да промените типа потребителски акаунт от прозореца за конфигуриране на потребителски акаунти.

образ

Ubuntu автоматично определя потребителския акаунт, създаден по време на инсталирането, като администраторски акаунт.

образ

Ако използвате друга дистрибуция на Linux, можете да предоставите разрешение на потребителя да използва sudo, като стартирате visudo команда с root права (така че стартирайте су първо или използвайте су -с).

Добавете следния ред към файла, заменяйки потребител с името на потребителския акаунт:

потребител ALL = (ALL: ALL) ВСИЧКИ

Натиснете Ctrl-X и тогава Y за да запазите файла. Може също да можете да добавите потребител към група, посочена във файла. Потребителите в групите, посочени във файла, автоматично ще имат sudo привилегии.

образ

Графични версии на Су

Linux също така поддържа графични версии на su,които искат вашата парола в графична среда. Например, можете да изпълните следната команда, за да получите графична подкана за парола и да стартирате браузъра на Nautilus с файлови разрешения. Натиснете Alt-F2 да стартирате командата от графичен диалогов прозорец за изпълнение без да стартирате терминал.

gksu nautilus

образ

Командата gksu има и няколко други трика нагореръкавът му - той запазва текущите ви настройки на работния плот, така че графичните програми няма да изглеждат не на място, когато ги стартирате като друг потребител. Програми като gksu са предпочитаният начин за стартиране на графични приложения с root права.

Gksu използва или su, или sudo базиран бекенд, в зависимост от дистрибуцията на Linux, която използвате.


Сега трябва да сте готови да срещнете и су, и судо! Ще срещнете и двете, ако използвате различни Linux дистрибуции.