Debian за Българи!

Всичко за Debian Gnu/Linux

Делегиране на права чрез /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] трябва да има табулация.

Вашият коментар

XHTML: Може да използвате тези тагове: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>