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

2015-12-14 Пенетрантность Victor Wagner
On Mon, 14 Dec 2015 22:14:16 +0300
Artem Chuprina  wrote:
> 
> Даже если ты никогда не работаешь в иксах удаленно (и пункт меню DE
> всегда вызывает только на локальной машине), настройка sudo - это не
> настройка иксового сеанса.  Возможность нечаянно отребутить машину при
> заходе на нее по сети остается.  sudo не умеет отличать сетевой вход
> от локального.

sudo не умеет отличать сетевой вход от локального?

Там же синтаксис

who where = (as whom) what

Собственно это самое where и есть способ отличить сетевой вход от
локального. Не сказал бы чтобы им часто пользовались, но, поскольку sshd
аккуратно пишет в wtmp, не вижу причин, по которым бы оно не работало.

Кроме того у нас есть pam_group. Который позволяет при определенных
способах входа в систему автоматически добавлять пользователя в
соответстующую группу. Ну и аналогичный по смыслу CONSOLE_GROUPS в
login.defs. 



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

2015-12-14 Пенетрантность Stanislav Vlasov
15 декабря 2015 г., 0:14 пользователь Artem Chuprina  
написал:

>  EZ> Почему некошерно? Дай права выполняться без пароля только этим
>  EZ> командам. У меня icewm и вот мой /etc/sudoers. Я даю новой группе
[...]
> Дело не столько в том, что это некошерно, сколько... никогда не
> приходилось ребутить НЕ ТУ машину?

molly-guard в помощь, кстати.
Спрашивает имя хоста, если ребут запущен удалённо.

-- 
Stanislav


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

2015-12-14 Пенетрантность Evgeny Zubok
Artem Chuprina  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.




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

2015-12-14 Пенетрантность Vasiliy P. Melnik
>
> Я вполне намеренно держу на разных серверах разные пароли, и sudo на них
> везде парольный.  Лишняя степень защиты от невнимательности.  Если
> пароль не подошел, начинаешь задумываться, на каком хосте ты выполняешь
> команду :)
>

40 серверов ? да ладно. Ошибки делают все, я просто после того как вынес на
боевом сервере постгрес вместе с базой - работаю только с одной консолью. А
если надо подсмотреть конфиг какой-нибудь где, то не оставляю чисто
консоль, либо конфиг открыт, либо терминал закрыт


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

2015-12-14 Пенетрантность Artem Chuprina
Evgeny Zubok -> debian-russian@lists.debian.org  @ Mon, 14 Dec 2015 18:37:48 
+0300:

 >> Для меня привычные команды:
 >>
 >>   $ sudo halt
 >>   $ sudo pm-suspend
 >>
 >> Они требуют прав root. Но пользователь декстопа должен иметь право выполнять
 >> эти операции!
 >>
 >> Как это сделано в популярных DE? В ~/.fvwm/config для себя я пропишу с sudo,
 >> но выглядит как то некошерно...

 EZ> Почему некошерно? Дай права выполняться без пароля только этим
 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

Дело не столько в том, что это некошерно, сколько... никогда не
приходилось ребутить НЕ ТУ машину?

Я вполне намеренно держу на разных серверах разные пароли, и sudo на них
везде парольный.  Лишняя степень защиты от невнимательности.  Если
пароль не подошел, начинаешь задумываться, на каком хосте ты выполняешь
команду :)

В этом смысле выставление capability юзеру, залогиненному локально и
только ему - неплохая защита от невнимательности.

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



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

2015-12-14 Пенетрантность Evgeny Zubok
Oleksandr Gavenko  writes:

> Для меня привычные команды:
>
>   $ sudo halt
>   $ sudo pm-suspend
>
> Они требуют прав root. Но пользователь декстопа должен иметь право выполнять
> эти операции!
>
> Как это сделано в популярных DE? В ~/.fvwm/config для себя я пропишу с sudo,
> но выглядит как то некошерно...

Почему некошерно? Дай права выполняться без пароля только этим
командам. У меня icewm и вот мой /etc/sudoers. Я даю новой группе
shutdown (символ %) права на выполнение операций перезагрузки без
пароля, добавляю пользователя в эту группу, и все. Остальные команды уже
будут требовать пароля.

Cmnd_Alias POWEROFF = /sbin/shutdown, /sbin/halt, /sbin/reboot, \
  /sbin/poweroff, /usr/sbin/pm-suspend, \ 
  /usr/sbin/pm-hibernate

%shutdown   ALL = (root) NOPASSWD: POWEROFF



Re: Интерфейс к debbugs?

2015-12-14 Пенетрантность Evgeny Zubok
Oleksandr Gavenko  writes:

> Через какой интерфейс удобно работать с https://bugs.debian.org/ ?

Я в свое время написал библиотеку для Emacs для работы с debbugs через
SOAP. При этом написал свой SOAP-клиент для Emacs. Однако оказалось, что
не я один такой был - увидел в emacs.devel сообщения о подобном
проекте. К тому же, уже кто-то быстрее подсуетился и протолкнул свой
SOAP-клиент в Emacs. С автором мы объединили усилия и смержили
наработки. Сейчас наша общая библиотека debbugs есть в ELPA. В тот
момент у меня еще не было возможности коммитить в ELPA, написал также
документацию к ней (там же в файле texi).

debbugs использует не только debian, но и GNU Project, поэтому они там у
себя быстрее библиотеку адаптировали, написав фронтенд к ней. Мы
договорились о названиях - они назвали ее debbugs-gnu. А вот для Debian
фронтенда я до сих пор не написал. Вернее, написал простейший еще на
заре своей работы над библиотекой debbugs.el. Написан он тяп-ляп. Однако
я им пользуюсь для просмотра багзилы и ответов, но он не для
продакшена. Если интересно, то могу прислать. Хотелось бы, конечно, этот
фронтенд доделать, так как очень полезная примочка для Emacs получилась
бы.