Судо и су са два различни начина за получаване на привилегии на корена. Всеки от тях функционира по различен начин, а различните разпределения на Linux използват по подразбиране различни конфигурации.
Коренният потребител
Су и sudo се използват за изпълнение на команди с коренни разрешения. Основният потребител е основно еквивалентен на администраторския потребител на Windows - потребителят на корен има максимални разрешения и може да направи каквото и да било в системата. Нормалните потребители на Linux работят с ограничени разрешения - например не могат да инсталират софтуер или да пишат в системни директории.
За да направите нещо, което изисква тези разрешения, ще трябва да ги придобиете със su или sudo.
Су срещу Судо
Командата su се превключва към супер потребител - или root потребител - когато го изпълнявате без допълнителни опции. Ще трябва да въведете паролата на главния акаунт. Това обаче не е всичко, което командата su прави - можете да го използвате, за да превключите към който и да е потребителски акаунт. Ако изпълнявате СуБоб команда, ще бъдете подканени да въведете паролата на Боб и черупката ще премине към потребителския акаунт на Bob.
След като свършите да изпълнявате командите в коренната обвивка, трябва да въведете изход да излезете от коренната обвивка и да се върнете в режим с ограничени привилегии.
Судо изпълнява една команда с права на root. Когато изпълнявате sudo команда, системата ви подканя за паролата за текущия потребителски акаунт, преди да стартирате команда като корен потребител. По подразбиране Ubuntu помни паролата за петнадесет минути и няма да поиска отново парола, докато не изтекат петнадесетте минути.
Ubuntu срещу други Linux дистрибуции
Командата su е традиционният начин за получаване на root разрешения на Linux. Командата sudo съществува отдавна, но Ubuntu беше първата популярна дистрибуция на Linux, която по подразбиране излезе само от sudo. Когато инсталирате Ubuntu, се създава стандартен root акаунт, но не му е назначена парола. Не можете да влезете като root, докато не присвоите парола на главния акаунт.
Друго предимство е, че това обезсърчава потребителите да се регистрират като root потребители - или да използват су, за да получат коренна обвивка - и поддържат коренната обвивка отворена, за да вършат нормалната си работа. Изпълнението на по-малко команди като корен увеличава сигурността и предотвратява случайни промени в цялата система.
Разпределенията, базирани на Ubuntu, включително Linux Mint, също използват sudo вместо su, по подразбиране.
Няколко трикове
Linux е гъвкав, така че не е нужно много работа, за да се работи су подобно на sudo - или обратно.
За да изпълните една команда като потребител на root с su, изпълнете следната команда:
su -c ‘command’
Това е подобно на изпълняването на команда със sudo, но вместо паролата на текущия потребителски акаунт ще ви трябва паролата на главния акаунт.
За да получите пълна, интерактивна коренна обвивка със sudo, изпълнете sudo -i.
Активиране на root потребителя в Ubuntu
За да активирате коренния потребителски акаунт в Ubuntu, използвайте следната команда, за да зададете парола за него. Имайте предвид, че Ubuntu препоръчва това.
sudo passwd root
Sudo ще ви подкани за паролата за текущия потребителски акаунт, преди да можете да зададете нова парола. Използвайте новата си парола, за да влезете като root от прозореца за въвеждане на терминал или с командата su. Никога не трябва да управлявате пълната графична среда като root потребител - това е много лоша практика за сигурност и много програми ще откажат да работят.
Добавяне на потребители към файла Sudoers
Само администраторски типове в Ubuntu могат да изпълняват команди със sudo. Можете да промените типа на потребителския акаунт от прозореца за конфигуриране на Потребителски акаунти.
Ако използвате друга Linux дистрибуция, можете да предоставите на потребителя разрешение да използвате sudo, като стартирате visudo команда с права на root (така че се изпълнява су първо или да използвате su -c).
Добавете следния ред към файла, замествайки го потребител с името на потребителския акаунт:
user ALL=(ALL:ALL) ALL
Натиснете Ctrl-X и тогава Y за да запазите файла. Възможно е също да можете да добавите потребител към група, посочена във файла. Потребителите в групите, посочени във файла, ще имат автоматично привилегии за sudo.
Графични версии на Su
Linux също така поддържа графични версии на su, които искат вашата парола в графична среда. Например, можете да изпълните следната команда, за да получите подкана за графична парола и да стартирате файловия браузър Nautilus с коренни разрешения. Натиснете Alt-F2 за да стартирате командата от графичен диалогов прозорец за изпълнение, без да стартирате терминал.
gksu nautilus
Gksu използва или su или sudo-базирани backend, в зависимост от Linux дистрибуцията, която използвате.
Сега трябва да сте готови да се сблъскате както със судо, така и със судо! Ще срещнете и двете, ако използвате различни Linux дистрибуции.