Ако някога сте се забъркали с командния ред в Линукс (който не?), Вие със сигурност ще намерите командата "sudo" и "su". Докато ветераните потребители знаят точно какво означават те, новите потребители на Linux винаги са объркани кога да използват кои и усложненията и усложненията, свързани с двете. В тази статия ще обясним подробно какво са "sudo" и "su", разликата между тях и кога да ги използваме.

Linux основи

По време на инсталацията на Linux ще ви подканя да създадете потребителски акаунт и да зададете своя собствена парола. След като инсталацията приключи и системата се рестартира, ще бъдете подканени да влезете в потребителския акаунт, който сте създали преди това. След като се намирате в тази потребителска среда, вие сте ваш собствен администратор и можете да стартирате приложения и да персонализирате работния плот по свое желание. Това е почти същото като в Windows и Mac. Имате също своя лична домашна папка, където можете да добавяте / премахвате всяка папка от и към нея. Това е почти всичко, което можете да направите. Извън папката "Начална" (т.е. основната папка) ще откриете, че повечето (ако не всички) файлови системи не са достъпни за вас.

Докато имате достъп до и прочетете файловете в тези папки, няма да можете да правите промени в тях. Причината е, че нямате достатъчно разрешение.

Потребителско разрешение

Функцията за разрешаване на потребители е една от функциите за защита, която защитава потребителите на Linux. С администраторския си профил получавате разрешение да управлявате всичко в началната си папка (и външния дял или твърдия диск, който сте монтирали). Извън това ще ви трябва root разрешение за извършване на промени в системния файл, включително инсталиране и деинсталиране на приложения. Разделянето на администраторския акаунт и на главния акаунт гарантира, че не бързате да натрупвате ненужната ви система и го прави по-трудно за хакер / вирус / злонамерен софтуер да влезе в кореновата ви система.

Забележка : За разлика от Windows, администраторът на вашия собствен потребителски акаунт не означава, че имате корен достъп до системата. Не можете просто да инсталирате / деинсталирате приложения само с двойно кликване върху инсталатора. В Linux ще трябва да въведете паролата си, за да издигнете потребителския си профил, преди да можете да инсталирате / деинсталирате приложение. Това също така означава, че нещата не се инсталират, освен ако не дадете изрично разрешение.

Съществуването на "sudo" и "su" е да ви позволи да получите достъп до root, за да станете истински администратор на собствената си система.

SU

"Su" означава " superuser " и ви позволява да влезете като root и да правите каквото искате със системата. Тя може да се изпълнява с командата:

 су 

и изисква от вас да въведете паролата на основния профил. В някои дистрибуции, особено в Ubuntu, паролата на root не е зададена по време на инсталирането. Това прави практически невъзможно влизането в системата като root (използвайки "su"), тъй като не може да бъде удостоверено.

Ако наистина трябва да използвате командата "su", за да получите достъп до root, можете да промените коренната парола, като използвате командата:

 sudo passwd корен 

По подразбиране "su" влезе като корен в собствената ви потребителска среда. За да промените потребителската среда на root, използвайте командата:

 su - 

Друго използване на "су" включва:

  • Преминаване към друг потребител, който не е суперпотребител
 су 
  • Преминаване към друг потребител и използване на тази потребителска среда
 su - 

Както може да се види, използването на командата "su" ви дава голяма възможност да администрирате и модифицирате системата си и ако не е проверена (или ако сте неопитна), тя може да бъде разрушителна за вашата система.

Забележка: Доколкото е възможно, не използвайте "su" за администриране на вашата система.

SUDO

"Sudo" означава " superuser do " и ви позволява да издигнете текущия потребителски акаунт, за да имате временно привилегия на root. Това е различно от "су". Със "sudo" все още използвате потребителския си акаунт, но с root права, докато в "su" сте влезли в главния акаунт. В допълнение, привилегията на root в "sudo" е валидна само за кратък период от време. След като изтече, трябва отново да въведете паролата си, за да си възвърнете привилегията на root.

С "sudo" можете да направите почти същите неща като "su". За да го използвате, просто трябва да добавите "sudo" пред всички коренни команди, например:

 sudo apt-get актуализация sudo apt-get ъпгрейд 
  • В някои случаи, ако наистина трябва да влезете като root, вместо да използвате "su", е по-добре да използвате:
 sudo -i 

за да стартирате коренна обвивка. Това ви позволява да влезете като root със собствената си потребителска парола.

  • Можете също да влезете като друг потребител
 sudo-i-u 

заключение

Това е основна уводна статия за "sudo" и "su". Ако сте начинаещ, препоръчително е да пазите ръцете си "su" и да използвате "sudo", ако е необходимо. За основни потребители, използването на "sudo" за повечето коренни команди е достатъчно. В продължение на повече от 6 години на използване на Linux, не съм срещнал случай, в който трябва да използвам "su" или "sudo -i".

За администрирането на сървъра, някои ще твърдят, че трябва да сте коренно през цялото време, за да извършвате поддръжка и да изпълнявате друга задача. Това може да е вярно, но в моя личен опит, ако инсталирате "sudo", създайте нов потребител и добавете този потребител към групата sudo, можете да направите почти всичко с ограничения потребителски акаунт и командата sudo. Всъщност смятам, че това е по-сигурен начин за администриране на вашия сървър. Кажи ми, ако греша.