If-Koubou

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

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

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

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

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

Су и sudo се използват за изпълнение на команди с коренни разрешения. Основният потребител е основно еквивалентен на администраторския потребител на Windows - потребителят на корен има максимални разрешения и може да направи каквото и да било в системата. Нормалните потребители на Linux работят с ограничени разрешения - например не могат да инсталират софтуер или да пишат в системни директории.

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

Су срещу Судо

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

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

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

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

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

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

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

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

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

Няколко трикове

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

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

su -c "команда"

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

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

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

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

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

sudo passwd корен

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

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

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

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

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

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

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

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

Графични версии на Su

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

gksu nautilus

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

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

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