sudo е може би една от най-използваните Linux команди. Позволява ви да получите административни или повишени привилегии на Linux машина.
Обикновено се нуждаете от повишени привилегии, за да изпълнявате действия като инсталиране на софтуер, управление на услуги и изтриване на критични системни файлове. Но знаете ли, че има алтернативи на командата sudo в Linux?
Защо да изпълнявате Linux команди като друг потребител?
sudo е много важна команда, защото ви позволява да изпълнявате команди с привилегии на суперпотребител. По подразбиране не-root потребителите обикновено имат ограничен достъп до ресурси и файлове на Linux.
Ограничаването на достъпа до потребители на Linux е много важно поради следните причини:
- Контрол: Тя позволява на администраторите или собствениците на системата да предоставят специфичен достъп до определени файлове и програми. Това е добре за стабилността на системата, поверителността и цялостната производителност.
- Сигурност: Ограничаването на достъпа до определени части на системата предотвратява случайно изтриване или промени в системата. И то също намалява повърхността за атака на системата.
sudo работи добре и прави много повече от това, за което повечето хора го използват. За съжаление това го прави много надут.
За щастие, както при повечето неща в Linux, има някои страхотни алтернативи на командата sudo и ето някои от тях.
1. pkexec
Командата pkexec (PolicyKit Executive) е реализация отпред на рамката PolicyKit, която предоставя набор от правила за предоставяне на привилегии на потребители и процеси.
pkexec ви позволява да изпълните команда с привилегиите на различен потребител или роля, въз основа на правилата, дефинирани в определена политика.
Инструментът pkexec вече е инсталиран на Ubuntu и други големи Linux дистрибуции. В случай, че не е инсталиран, ето как да го инсталирате.
На базирани на Debian системи изпълнете:
sudo apt актуализация && sudo apt Инсталирай комплект политики-1
На RHEL и подобни дистрибуции изпълнете:
sudo dnf Инсталирай комплект политики
В дистрибуции на Linux, базирани на Arch, използвайте следната команда:
sudo sudo pacman -S набор от политики
Как да използвате pkexec
За да използвате pkexec, първо трябва да посочите ключовата дума pkexec, последвана от командата, която искате да изпълните, последвана от всички аргументи или опции, които командата изисква.
Например, за инсталиране забавната Linux програма: cowsay на вашата система, използвайки привилегии на суперпотребител, бихте използвали следното:
pkexec ап Инсталирай каусей
Можете също да посочите потребител или роля, на които да поемете привилегиите, като използвате --потребител опция, последвана от името на потребителя или ролята. Например, за да изпълните предходната команда с привилегиите на администраторския потребител, ще използвате следната команда:
pkexec --user admin apt инсталира cowsay
Освен това ще трябва да въведете паролата на потребителя или ролята, които сте посочили в командата. Ако нямате необходимите разрешения, ще получите грешка.
2. doas
Командата doas води началото си от операционната система OpenBSD. Позволява ви да изпълните команда с привилегиите на определен потребител или роля.
Тя е много подобна на командата sudo, но е модерна, много лека и лесна за конфигуриране, защото използва кратки и четливи изрази.
ако не е, ето как можете да инсталирате doas на Linux.
Конфигуриране на doas на Linux
За разлика от sudo и pkexec команди, трябва да конфигурирате новоинсталирано копие на doas, преди да започнете да го използвате. Конфигурационният файл се намира на /etc/doas.conf. Ако конфигурационният файл не съществува, създайте такъв с помощта на командата докосване или всяка друга програма по ваш избор.
За да дадете на потребителя „mwizak“ суперпотребителски привилегии във вашата система, можете да добавите следния ред към /etc/doas.conf файл:
разреши продължаване :mwizak като корен
Не забравяйте да замените потребителя "mwizak" в гореспоменатата команда с правилното потребителско име.
След като запазите промените в конфигурацията, опитайте да инсталирате cowsay, като използвате следната команда:
doas apt Инсталирай каусей
За да използвате друг потребител, можете да използвате -u флаг, последван от потребителското име. Подобно е на --потребител флаг, използван с командата pkexec.
Например, за да изпълните предходната команда като системен администратор, трябва да изпълните:
doas -u администратор apt Инсталирай каусей
3. су
Командата su е съкращение от „превключване на потребител“. Позволява ви да изпълнявате команди като потребители, различни от текущо влезлия потребител. Обикновено се използва за изпълнение на команди, които изискват root привилегии, но можете просто да изпълните всяка друга команда, използвайки su.
Изпълнението на командата su без никакви аргументи предполага root потребител, така че трябва да знаете паролата на root потребител, за да продължите. Ако превключите към потребител на име john, просто ще изпълните командата:
су джон
Въведете паролата за потребителя john. За да превключите обратно към първоначалния потребител, просто стартирайте изход команда.
Имайте предвид, че изпълнението на команди като root потребител обикновено не се препоръчва, защото не получавате подкана за a парола за всяка команда, която изпълнявате, което може да доведе до катастрофални последици, като случайно изтриване файлове.
4. дздо
dzdo е инструмент от командния ред, използван за изпълнение на команди с привилегиите на друг потребител, като суперпотребител или root потребител. Подобна е на командата sudo, която обикновено се използва за същата цел. Командата dzdo е налична най-вече в Oracle Linux.
Можете да използвате -u флаг, за да посочите потребителя, чиито привилегии искате да използвате. Например, следната команда ще изпълни apt-get актуализация команда с привилегиите на суперпотребителя (root):
dzdo -u root apt-получавам актуализация
Системата ще ви помоли да въведете подходящата парола, за да потвърдите, че имате необходимите права за изпълнение на командата.
Използвайте правилните потребителски контроли за подобрена сигурност на Linux
sudo е често използвана команда в Linux системи, която позволява на потребителя да изпълни команда с привилегиите на root потребителя. В зависимост от вашите нужди можете да използвате всякакви алтернативи на sudo в работния си процес.
В Linux също е важно да зададете правилните нива на достъп до файлове и папки за по-добра сигурност.