ПредишенСледващото

Тази страница изисква Escort

Sudo (инж. заместител на потребителя направя. буквално "заместител на потребителя и бягай") позволява на системния администратор да делегира правомощия да дава определени потребители (или групи от потребители) способността да работят с някои (или всички) команди в като корен или всеки друг потребител, осигуряване на контрол върху команди и техните аргументи.

обосновка

Sudo - е алтернатива на СУ, за да изпълнява команди с корен привилегии (корен). За разлика от СУ. който изпълнява черупка с корен привилегии, и дава на всички по-нататъшни заповеди като корен, Sudo предвижда временно увеличение привилегии за същия отбор. Даване на корен привилегии, само когато е необходимо, използването на Sudo намалява вероятността да е печатна грешка или грешка в изпълнена команда ще изготви система разрушителни действия.

Sudo може да се използва, за да изпълнява команди от името на други потребители; В допълнение, SUDO команди се записват и всички неуспешни опити за достъп до одит на сигурността.

За да започнете да използвате Sudo като крайно беден на потребителя, трябва да конфигурирате правилно. За да направите това, прочетете раздела за настройка.

използването на

Потребителите могат да предхождат командна дума SUDO на. да ги изпълни, както корен (или друг потребител).

Например, за да използвате Pacman:

Вижте ръководството за Sudo за повече информация.

Следвайте Sudo -LL за показване на текущата конфигурация на Sudo.

Използването visudo

конфигурационния файл / и т.н. / sudoers трябва винаги да бъдат редактирани с командата visudo. visudo заключва файла с sudoers. Тя записва промените във временен файл, и се уверете, че файлът е граматически правилно, преди да го копирате в / и т.н. / sudoers.

Важно е да се:
  • Наложително е sudoers файл няма синтактични грешки! Всяка грешка прави Sudo неизползваем. Винаги го редактирате само с помощта visudo за предотвратяване на грешки.
  • От visudo (8). Моля, имайте предвид, че това е дупка в сигурността, тъй като тя дава възможност на потребителя да работи на всяка програма, това, което той иска, просто да го постави в визуален или редактор.

примери за настройки

Конфигуриране Sudo става чрез прибавяне на записите във файла / и т.н. / sudoers. За да се даде на потребителя корен привилегии при влизането му в Sudo преди командата, добавете следния ред:

Възможност на потребителя да изпълнява всички команди от всеки потребител, но само на една машина с конкретно име домакин:

Осигуряване на членовете на достъпа на колело група Sudo:

Не да пита за парола от потребителя:

Позволявайте само на специфични команди за извършване само на потребителите на определен хост:

Забележка: Най-често срещаните варианти трябва да отидат в началото на файла, както и повечето частни - напротив, в края на файла, като долната линия замени отгоре. По-специално, добавя линия трябва да бъде под линия% колело. ако вашето потребителско е в тази група.

Позволете на бетона за изпълнение на определени команди само за потребителя за конкретен хост и без парола:

Подробен пример за sudoers е на разположение в / ЮЕсАр / акции / DOC / SUDO / примери / sudoers. Също така обърнете към ръководството за sudoers за повече информация.

Файлови разрешения от sudoers подразбиране

sudoers файл трябва да има корен собственост и корен група (0). права на достъп трябва винаги да бъдат определени като R - R ----- (0440). Тези права са определени по подразбиране, но ако се случи да ги промени, те трябва да бъдат незабавно да се върнат, или Sudo няма да работят.

Паролата ви е времето за действие

Може би искате да промените продължителността на времето, през което действа Sudo, без да въвеждате парола. Това се постига лесно чрез добавяне на timestamp_timeout опция в / и т.н. / sudoers.

Например, за да настроите времето за изчакване до 20 минути:

Съвет: Ако искате да Sudo винаги се изисква да въведете парола, настроена на 0. За да timestamp_timeout паролата е безсрочен инсталирате отрицателна стойност.

Съвети и трикове

Пусков чрез натискане на Tab в Баш

Един изчакване за всички сесии терминал

Важно: Това ще позволи на всеки процес, за да се възползват от отворените Sudo сесия.

Ако не искате да въведете паролата си отново всеки път, когато отваряте нов терминал, изключете tty_tickets.

Винаги да се показва бележката за безопасност

По подразбиране / и т.н. / sudoers е конфигурирана така, че резултатите от наблюдение на сигурността Sudo само при първоначалното отваряне на сесията:

Към това съобщение винаги се показва, редактирате / и т.н. / sudoers. Замяна:

или просто добавете този ред, ако не е така.

променливи

Ако имате много променливи на обкръжението, или да експортирате настройките на прокси сървъра чрез износ http_proxy = ".". Когато използвате Sudo, тези променливи няма да бъдат разкривани на открито заседание, освен ако не ви свършат Sudo в опция -Е.

Препоръчителният начин за спасяване на околната среда променливи - това ги предписват env_keep.

Прехвърляне на псевдоними

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

/.bashrc или /etc/bash.bashrc линия:

хумористични обиди

Можете да конфигурирате Sudo, така че, когато въведете грешна парола, той се оттегли хумористични обиди, вместо стандартната съобщението "За съжаление, опитайте отново." Намерете по подразбиране линия в / и т.н. / sudoers и добавете обидите към списъка с опции, разделени със запетая. Крайният резултат може да изглежда така:

За да проверите, тип Sudo К. до края на текущата сесия и нека Sudo поиска паролата отново.

администраторската парола

Можете да конфигурирате Sudo, така че той ще поиска администраторската парола вместо паролата на текущия потребител, или добавяне на targetpw rootpw по подразбиране в списъка с опции в / и т.н. / sudoers.

Да не разгласяват администраторската парола, можете да го изключите за определени групи:

Деактивирането на корен сметка

Вие може да искате да забраните на кореновата система на потребителя за вход. Без това, нападателите първо ще трябва да отгатне потребителско име конфигурирани като sudoer, както и паролата за този потребител. Вижте например Secure Shell (български) # Забрани.

Забележка: Ако вече сте попаднали в капана, вижте Password Recovery (български) за съдействие.

Паролата за корен може да бъде заключена чрез ако съществува.

Подобна команда отключва паролата на корена на потребителя:

Също така можете да редактирате / и т.н. / сянка и подмяна на криптирана парола корен на "!"

След това, за да зададете нова парола и по този начин да отключите корен потребител:

Gksu да използвате SUDO по подразбиране, изпълнете:

/.config/kdesurc за kf5 версия kdesu):

или използвайте следната команда (използване kwriteconfig5 за kf5 версия kdesu):

Можете също да зададете kdesudo AUR от остро задържане. който поддържа подобрена автоматично довършване чрез раздел с командата.

Друг пример за настройка

Да речем, че сте създали 3 потребители: администратор, развойна и Джо. "Администриране" на потребителя се използва за journalctl, systemctl, монтиране, убиват и IPTABLES; "Devel" се използва за инсталиране на пакети и редактирате настройките; "Джо" - потребителя, под който сте влезли в системата. За да се позволи "Джо", за да рестартирате, изключване на системата и използването netctl, трябва да направите следното:

Edit /etc/pam.d/su и /etc/pam.d/su-1 изисква от потребителя да бъде в групата на колело, но никой в ​​него не добавя.

Ограничаване на достъпа чрез SSH към група "SSH". "Джо", ще бъдат включени само в тази група.

Добавяне на потребители в други групи.

Разположен на настройка, така че раз може да ги редактирате.

С тези настройки, които почти никога не ще трябва да влезете в системата като администратор.

"Джо" може да се свърже с вашия дом WiFi.

"Джо" не може да се използва netctl от името на друг потребител.

Когато "Джо" journalctl иска да вземе или убие окачени процес, той може да преминете към желания потребител:

Но "Джо" не може да превключи на ползвателя на корен.

Ако "Джо" иска да започне GNU екран сесия, както като администратор, той може да го направи, както следва:

Конфигуриране Sudo използване инвестира в /etc/sudoers.d файлове

Sudo обработва файловете, съдържащи се в /etc/sudoers.d/ директория. Това означава, че вместо да се налага да редактирате / и т.н. / sudoers. можете да промените настройките на отделни файлове и да ги преместите в тази директория. Това има две предимства:

  • Не е нужно да редактирате файла sudoers.pacnew;
  • Ако нов рекорд е проблем, можете просто да унищожи съответните документи, вместо да се налага да редактирате / и т.н. / sudoers.

Форматът на тези записи в прикачения файл е същата като във файла / и т.н. / sudoers. За да ги редактирате директно, използвайте visudo -f / път / до / файла. Вижте Включително други файлове през sudoers в sudoers (5) за повече информация.

Разрешаване на проблеми

Проблеми с TTY през SSH

По подразбиране, SSH не разпределя йу когато дистанционното командване. Без йу Sudo Не можете да деактивирате паролата, докато го пишете. Можете да използвате опцията SSH -tt на. да го накара да се разпределят йу (или -t два пъти).

опция по подразбиране requiretty само ви позволява да стартирате потребители SUDO, ако имат йу.

Покажи на потребителските права

Можете да разберете какво привилегии даден потребител има специално следната команда:

Или намери свой собствен отбор привилегии:

Overlay Umask

Sudo налага на собствената стойност на Umask (която по подразбиране е настроен на 0022) на потребителя. Това предотвратява Sudo от създаването на файлове с повече права за достъп либерален, отколкото позволява на потребителя Umask. Въпреки факта, че това е разумна стойност по подразбиране, ако не използвате Umask модифициран, това може да доведе до ситуация, в която програмата работи чрез Sudo да създавате файлове с разрешения, различни от тези, които са създадени, когато стартирате програмата директно на суперпотребител. За да поправите тези грешки Sudo дава възможност да се коригира Umask, дори ако желаната Umask е по-либерален, отколкото тази в Umask на потребителя. Чрез добавяне на следните редове (използване visudo) промените поведението по подразбиране на Sudo:

Това ще постави SUDO в Umask Umask суперпотребител подразбиране (0022) и замени стандартното поведение, винаги с използването на указания Umask и независимо от Umask на потребителя.

Опции по подразбиране

Вижте [1] списъка с параметри (извлечени от изходния код версия 1.8.7) във формат, оптимизиран за sudoers.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!