[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Выполнение привелигированых команд пользователем.



Artem Chuprina <ran@lasgalen.net> writes:

>  EZ> командам. У меня icewm и вот мой /etc/sudoers. Я даю новой группе
>  EZ> shutdown (символ %) права на выполнение операций перезагрузки без
>  EZ> пароля, добавляю пользователя в эту группу, и все. Остальные команды уже
>  EZ> будут требовать пароля.
>
>  EZ> Cmnd_Alias POWEROFF = /sbin/shutdown, /sbin/halt, /sbin/reboot, \
>  EZ>                       /sbin/poweroff, /usr/sbin/pm-suspend, \ 
>  EZ>                       /usr/sbin/pm-hibernate
>  EZ>         
>  EZ> %shutdown   ALL = (root) NOPASSWD: POWEROFF
>
> Дело не столько в том, что это некошерно, сколько... никогда не
> приходилось ребутить НЕ ТУ машину?

В общем-то, нет, так как я почти классический админ локалхоста. За
редкими исключениями. Редкие исключения - это ssh на сервер в один
офис. Поэтому нескольких машин нет, я всегда знаю, что же я такое
перезапукаю. Но в случае перезапуска я лишний раз проверяю, то ли я
сейчас перезапускаю. И это делаю, скорее, не потому, что боюсь по ошибке
сервер перегрузить, а потому, что боюсь как раз свою машину по ошибке
перегрузить! Такая лишняя проверка машины вроде как должна помочь
избежать случайностей. :)

> Я вполне намеренно держу на разных серверах разные пароли, и sudo на них
> везде парольный.  Лишняя степень защиты от невнимательности.  Если
> пароль не подошел, начинаешь задумываться, на каком хосте ты выполняешь
> команду :)
>
> В этом смысле выставление capability юзеру, залогиненному локально и
> только ему - неплохая защита от невнимательности.
>
> Даже если ты никогда не работаешь в иксах удаленно (и пункт меню DE
> всегда вызывает только на локальной машине), настройка sudo - это не
> настройка иксового сеанса.  Возможность нечаянно отребутить машину при
> заходе на нее по сети остается.  sudo не умеет отличать сетевой вход от
> локального.

Проблема понятна. И, видимо, и раньше была понятна, поэтому и возникли
пакеты типа molly-guard, но решение это, согласен, несколько кривое
[1]. Тут уж надо админу решать, насколько у него часто случается
случайный перезагруз не той машины. Я, в общем-то, не стал бы настаивать
на sudo в таких особых случаях, раз уж это решительно смущает. :) В
случае локалхоста же проблем с sudo особых не вижу.

[1]

$ aptitude show molly-guard

Описание: protects machines from accidental shutdowns/reboots. The
 package installs a shell script that overrides the existing
 shutdown/reboot/halt/poweroff commands and first runs a set of scripts,
 which all have to exit successfully, before molly-guard invokes the
 real command.
 
 One of the scripts checks for existing SSH sessions. If any of the four
 commands are called interactively over an SSH session, the shell script
 prompts you to enter the name of the host you wish to shut down. This
 should adequately prevent you from accidental shutdowns and reboots.
 
 This shell script passes through the commands to the respective
 binaries in /sbin and should thus not get in the way if called
 non-interactively, or locally.



Reply to: