понедельник, 23 июля 2012 г.

Ubuntu 10.04 + sudo без пароля


Для того что бы мне дать возможность пользователю user (который был создан при установке системы) работать с sudo без ввода пароля, были добавлены следующие строки в файлик /etc/sudoers  (открывается командой sudo visudo)



# Определение псевдонимов пользователя
 User_Alias     FULLTIMERS = user

 # Переопределяем встроенные значения по умолчанию
 Defaults:FULLTIMERS    !lecture
 Defaults:user       !authenticate

Ниже строки root добавили следующую строку фултаймерсов
root           ALL = (ALL) ALL
FULLTIMERS     ALL = NOPASSWD: ALL




ПРИМЕРЫ

Ниже приведены примеры записей sudoers. Возможно, некоторые из них являются выдуманными. Сначала мы определяем свои псевдонимы:


 # Определение псевдонимов пользователя
 User_Alias     FULLTIMERS = millert, mikef, dowdy
 User_Alias     PARTTIMERS = bostley, jwfox, crawl
 User_Alias     WEBMASTERS = will, wendy, wim


 # Определение псевдонимов Runas (Выполнить как)
 Runas_Alias    OP = root, operator
 Runas_Alias    DB = oracle, sybase


 # Определение псевдонимов машин
 Host_Alias     SPARC = bigtime, eclipse, moet, anchor :\
                SGI = grolsch, dandelion, black :\
                ALPHA = widget, thalamus, foobar :\
                HPPA = boa, nag, python
 Host_Alias     CUNETS = 128.138.0.0/255.255.0.0
 Host_Alias     CSNETS = 128.138.243.0, 128.138.204.0/24, 128.138.242.0
 Host_Alias     SERVERS = master, mail, www, ns
 Host_Alias     CDROM = orion, perseus, hercules


 # Определение псевдонимов Cmnd (команд)
 Cmnd_Alias     DUMPS = /usr/bin/mt, /usr/sbin/dump, /usr/sbin/rdump,\
                        /usr/sbin/restore, /usr/sbin/rrestore
 Cmnd_Alias     KILL = /usr/bin/kill
 Cmnd_Alias     PRINTING = /usr/sbin/lpc, /usr/bin/lprm
 Cmnd_Alias     SHUTDOWN = /usr/sbin/shutdown
 Cmnd_Alias     HALT = /usr/sbin/halt, /usr/sbin/fasthalt
 Cmnd_Alias     REBOOT = /usr/sbin/reboot, /usr/sbin/fastboot
 Cmnd_Alias     SHELLS = /usr/bin/sh, /usr/bin/csh, /usr/bin/ksh, \
                         /usr/local/bin/tcsh, /usr/bin/rsh, \
                         /usr/local/bin/zsh
 Cmnd_Alias     SU = /usr/bin/su

Здесь мы переопределим некоторые встроенные значения по умолчанию. Мы хотим, чтобы sudo регистрировал события при помощи syslog(3), во всех случаях используя метод auth. Мы не хотим, что бы sudo читало лекции всем пользователям, и пользователь millert не должен указывать пароль. В добавок, на машинах в SERVERS Host_Alias мы держим дополнительный локальный файл журнала и удостоверимся, что мы регистрируем год в каждой строке файла журнала, так как записи журнала будут сохраняться в течение нескольких лет.


 # Переопределяем встроенные значения по умолчанию
 Defaults               syslog=auth
 Defaults:FULLTIMERS    !lecture
 Defaults:millert       !authenticate
 Defaults@SERVERS       log_year, logfile=/var/log/sudo.log

Определение пользователя является частью, которая фактически определяет кто что может выполнять.


 root           ALL = (ALL) ALL
 %wheel         ALL = (ALL) ALL

Мы позволим супер-пользователю (root) и любому пользователю в группе wheel выполнить любую команду на любой машине от имени любого пользователя.


 FULLTIMERS     ALL = NOPASSWD: ALL

Системные администраторы занятые полный рабочий день (millert, mikef и dowdy) могут выполнить любую команду на любой машине без аутентификации.


 PARTTIMERS     ALL = ALL

Системные администраторы занятые не полный рабочий день (bostley, jwfox и crawl) могут выполнить любую команду на любом компьютере, но сначала должны себя аутентифицировать (так как в записи отсутствует тэг NOPASSWD).


 jack           CSNETS = ALL

Пользователь jack может выполнить любую команду на машинах с псевдонимом CSNETS (сети 128.138.243.0, 128.138.204.0 и 128.138.242.0). Из этих сетей только <128.138.204.0> имеет явную сетевую маску (в соответствии с CIDR) означающую сеть класса C. Для остальных сетей в CSNETS в случае соответствия будет использоваться сетевая маска машины.


 lisa           CUNETS = ALL

Пользователь lisa может выполнять любую команду на любой машине с псевдонимом CUNETS (сеть класса B 128.138.0.0).


 operator       ALL = DUMPS, KILL, PRINTING, SHUTDOWN, HALT, REBOOT,\
                /usr/oper/bin/

Пользователь operator может выполнять команды ограничивающиеся простым обслуживанием. В данном случае таковыми являются резервное копирование, уничтожение процессов, система печати, выключение системы и любая команда в каталоге /usr/oper/bin/.


 joe            ALL = /usr/bin/su operator

Пользователь joe может выполнять только su(1) оператору.


 pete           HPPA = /usr/bin/passwd [A-z]*, !/usr/bin/passwd root

Пользователю pete разрешено изменять любой пароль, за исключением пароля супер-пользователя (root) на машинах HPPA. Учтите, что passwd(1) не воспринимает несколько имен пользователей подряд в одной командной строке.


 bob            SPARC = (OP) ALL : SGI = (OP) ALL

Пользователь bob может выполнять любые команды на машинах SPARC и SGI, как пользователь описанный в Runas_Alias в OP (root и operator).


 jim            +biglab = ALL

Пользователь jim может выполнить любую команду на машинах в сетевой группе biglab. Sudo знает, что biglab является сетевой группой из-за префикса +.


 +secretaries   ALL = PRINTING, /usr/bin/adduser, /usr/bin/rmuser

Пользователи в сетевой группе secretaries должны как помогать в управлении принтерами, так и добавлять или удалять пользователей. Таким образом им позволено выполнять эти команды на всех машинах.


 fred           ALL = (DB) NOPASSWD: ALL

Пользователь fred может выполнять команды от имени любого пользователя в Runas_Alias DB (oracle или sybase), без указания пароля.


 john           ALPHA = /usr/bin/su [!-]*, !/usr/bin/su *root*

На машинах ALPHA пользователь john может выполнить su любому пользователю, за исключением супер-пользователя (root), но не имеет права задавать su(1) какие-либо флаги.


 jen            ALL, !SERVERS = ALL

Пользователь jen может выполнить любую команду на любой машине, за исключением машин в Host_Alias SERVERS (master, mail, www и ns).


 jill           SERVERS = /usr/bin/, !SU, !SHELLS

Для любой машины в Host_Alias SERVERS jill может выполнить любую команду в каталоге /usr/bin/, за исключением команд относящихся к Cmnd_Aliases SU и SHELLS.


 steve          CSNETS = (operator) /usr/local/op_commands/

Пользователь steve может выполнить любую команду в каталоге /usr/local/op_commands/, но только как пользователь operator.


 matt           valkyrie = KILL

На своей персональной рабочей станции, valkyrie, matt необходима возможность уничтожать зависшие процессы.


 WEBMASTERS     www = (www) ALL, (root) /usr/bin/su www

На машинах www, любой пользователь в User_Alias WEBMASTERS (will, wendy и wim), может выполнить любую команду как пользователь www (который является владельцем web-страниц) или просто su(1) к www.


 ALL            CDROM = NOPASSWD: /sbin/umount /CDROM,\
                /sbin/mount -o nosuid\,nodev /dev/cd0a /CDROM

Любой пользователь может монтировать или размонтировать CD-ROM на машинах в Host_Alias CDROM (orion, perseus, hercules) без ввода пароля. Ввод этого несколько утомителен для пользователей, поэтому это первейший кандидат для включения в сценарий оболочки.  





источник: http://unixa.ru/software/sudo-v-ubuntu-i-ne-tolko.html

Комментариев нет:

Отправить комментарий