Linux -сборник рецептов


Решение


Воспользуйтесь sudo — командой, которая предоставляет ограниченные права root конкретным пользователям для решения конкретных задач и регистрирует их действия без сообщения пароля root.

Допустим, имеется пользователь jhaugh, которому вы хотите предоставить полные права root. Поскольку пользователи sudo имеют собственные пароли, пароль root остается защищенным. Отредактируйте файл /etc/sudoers командой visudo — файл открывается в редакторе по умолчанию.

# visudo # Файл sudoers # # Этот файл ДОЛЖЕН редактироваться командой 'visudo' # с правами root. # За дополнительной информацией о записи в файл # sudoers обращайтесь кman-странице. # # Спецификация псевдонимов хостов # Спецификация псевдонимов пользователей # Спецификация псевдонимов команд # Спецификация привилегий пользователей root ALL=(ALL) ALL

Для начала создайте псевдоним хоста:

Host_Alias LOCALHOST = localhost

В секции «Спецификация привилегий пользователей» («User privilege specification») добавляются отдельные пользователи:

jhaugh ALL=(ALL) ALL

Эта строка предоставляет jhaugh привилегии root для выполнения любых операций в системе и на подключенных компьютерах. Допустим, вы хотите предоставить другому пользователю tgwynne привилегии root только на локальном компьютере. Включите следующую запись:

tgwynne LOCALHOST = ALL

А пользователю msmith разрешается только выключение локального компьютера:

msmith LOCALHOST=/sbin/shutdown, /sbin/halt 8.21. Временное предоставление привилегий root командой sudo

Предоставление группам обычных пользователей права выключения своих компьютеров:

# Спецификация псевдонимов хостов Host_Alias LOCALHOST = localhost # Спецификация псевдонимов пользователей User_Alias USERS = tgwynne, msmith, jhaugh, \ abyron, jwinters # Спецификация псевдонимов команд Cmnd_Alias SHUTDOWN = /usr/sbin/shutdown, /usr/sbin/halt, \ /usr/sbin/reboot, /usr/sbin/poweroff # Спецификация привилегий пользователей USERS LOCALHOST = SHUTDOWN

Вызов команды sudo выглядит так:

$ sudo /usr/sbin/halt

Команда запрашивает у пользователей их пароли, после чего завершается. Чтобы узнать, выполнение каких команд им разрешено, пользователи могут выполнить следующую команду:

$ sudo -l User jhaugh may run the following commands on this host: (ALL) ALL

Команда sudo фиксирует ошибки в системном журнале и передает сообщение root:

$ sudo /usr/sbin/halt carla is not in the sudoers file. This incident will be reported.

Вы можете определять группы серверов и предоставлять пользователям привилегии для группы:

# Спецификация псевдонимов хостов Host Alias FILESERVERS = hostl, host2, host3 # Спецификация псевдонимов пользователей User_Alias FILESERVERADMINS = jhaugh, abyron, jwinters # Спецификация псевдонимов команд Cmnd_Alias FILEUTILS = /bin/chgrp, /bin/chmod, \ /bin/chown, /bin/cp, /bin/dd, /bin/df, \ /bin/dir, /bin/dircolors, /bin/du, /bin/install, \ /bin/ln, /bin/ls, /bin/mkdir, /bin/mkinfo, \ /bin/mknod, /bin/mv, /bin/rm, /bin/rmdir, \ /bin/shred, /bin/touch, /bin/vdir, sync # Спецификация привилегий пользователей FILESERVADMINS FILESERVERS = FILEUTILS









Начало  Назад  Вперед