Форум: Общи Проблеми и Въпроси
Тема: Делегиране на права чрез /etc/sudoers
Автор: phantomlord

Мнение от phantomlord пуснато на Март 15 2006, 23:47
В Linux, за да конфигурирате основни параметри на системата са ви необходими правата на su/root. Сигурно ви е писнало да му пишете паролата, когато ви е нужно да правите това. Има много лесен начин да използвате правата на root без да му пишете паролата и той се състои в редакция на файлът /etc/sudoers и използване на sudo. След като направите промените, които ще посоча по-долу, ще можете да изпълните която и да е команда, без да е необходимо да въвеждате паролата на root.
Ето един прост пример как да редактирате /etc/sudoers:
Цитат:


# User alias specification
User_Alias FULLTIMERS = юзъра_ви

# User privilege specification
FULLTIMERS ALL = NOPASSWD: ALL


Така ще можете да стартирате която и да е програма или команда с привилегиите на  su/root,  без парола, като напишете sudo преди нея. Пример:

Код: 
sudo synaptic


Възможностите на sudo са далеч по-големи, но са необходими когато един компютър се използва от повече от един потребител. Можете да зададете права на потребителите да изпълняват определени команди с или без парола.
Ето пример какво и къде да редактирате:

Цитат:


# User alias specification
User_Alias FULLTIMERS = user1, user2, user3
User_Alias PARTTIMERS = user4, user5
User_Alias OTHERS = user6, user7

# Cmnd alias specification
Cmnd_Alias    SHUTDOWN = /sbin/shutdown
Cmnd_Alias    REBOOT = /sbin/reboot
Cmnd_Alias    INIT = /sbin/init
Cmnd_Alias    DEBUTILS = /usr/bin/apt-get
Cmnd_Alias    GEDIT = /usr/bin/gedit
Cmnd_Alias    SYNAPTIC = /usr/sbin/synaptic

# User privilege specification
FULLTIMERS ALL = NOPASSWD: ALL
PARTTIMERS ALL = ALL
OTHERS ALL = NOPASSWD: SHUTDOWN, REBOOT, INIT
OTHERS ALL =  DEBUTILS,  GEDIT,  SYNAPTIC


В първата секция User alias specification са групирани отделните потребители. В секцията Cmnd alias specification е списъкът на командите, които могат да се използват чрез sudo. В User privilege specification са правата на отделните групи. Потребителите в групата FULLTIMERS могат да изпълняват която и да е команда без парола. Потребителите от PARTTIMERS могат да изпълнят която и да е команда, но ще трябва да я потвърдят с паролата си. Потребителите от OTHERS могат да изпълняват само командите дефинирани в Cmnd alias specification, като за SHUTDOWN, REBOOT, INIT няма да им трябва парола, докато за DEBUTILS,  GEDIT,  SYNAPTIC ще им бъде необходима.

Това е само пример, който да илюстрира накратко възможностите на sudo. Те са многократно по-големи, но са нужни само на системни администратори, които да задават определени привилегии на определени потребители на една машина. Коригирайте примера по свой вкус и нужди.

Още информация – < http://www.gratisoft.us/sudo/man/sudoers.html >



Powered by ikonforums 1.0.0 © 2006 ikonforums