Делегиране на права чрез /etc/sudoers
Публикувано от phantomlord на декември 6, 2007
В Linux, за да конфигурирате основни параметри на системата са ви необходими правата на su/root. Сигурно ви е писнало да му пишете паролата, когато ви е нужно да правите това. Има много лесен начин да използвате правата на root без да му пишете паролата и той се състои в редакция на файлът /etc/sudoers и използване на sudo. След като направите промените, които ще посоча по-долу, ще можете да изпълните която и да е команда, без да е необходимо да въвеждате паролата на root.
Ето един прост пример как да редактирате /etc/sudoers:
# User alias specification
User_Alias[TAB]FULLTIMERS = юзъра_ви# User privilege specification
FULLTIMERS[TAB]ALL = NOPASSWD: ALL
Така ще можете да стартирате която и да е програма или команда с привилегиите на su/root, без парола, като напишете sudo преди нея. Пример:
sudo synaptic
Възможностите на sudo са далеч по-големи, но са необходими когато един компютър се използва от повече от един потребител. Можете да зададете права на потребителите да изпълняват определени команди с или без парола.
Ето пример какво и къде да редактирате:
# User alias specification
User_Alias[TAB]FULLTIMERS = user1, user2, user3
User_Alias[TAB]PARTTIMERS = user4, user5
User_Alias[TAB]OTHERS = user6, user7# Cmnd alias specification
Cmnd_Alias[TAB]SHUTDOWN = /sbin/shutdown
Cmnd_Alias[TAB]REBOOT = /sbin/reboot
Cmnd_Alias[TAB]INIT = /sbin/init
Cmnd_Alias[TAB]DEBUTILS = /usr/bin/apt-get
Cmnd_Alias[TAB]GEDIT = /usr/bin/gedit
Cmnd_Alias[TAB]SYNAPTIC = /usr/sbin/synaptic# User privilege specification
FULLTIMERS[TAB]ALL = NOPASSWD: ALL
PARTTIMERS[TAB]ALL = ALL
OTHERS[TAB]ALL = NOPASSWD: SHUTDOWN, REBOOT, INIT
OTHERS[TAB]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. Те са многократно по-големи, но са нужни само на системни администратори, които да задават определени привилегии на определени потребители на една машина. Коригирайте примера по свой вкус и нужди.
Още информация – тук.
ЗАБЕЛЕЖКА:
- Където пише:[TAB] трябва да има табулация.