LinuxForum.Fans
Тема

sudoers

Автор: shinma 12 сообщений 1057 просмотров
17.02.2015 07:25 #414545

Что я делаю:
ввожу команду проверки NTP:
[console]sudo ntpdate -d NTP_name[/console]
Команда делает запись в syslog вида:

text
Feb 17 08:41:00 *** sudo: user_name_Vuasiya : TTY=unknown ; PWD=*** ; USER=root ; COMMAND=/usr/sbin/ntpdate -d IP***

Проблема:
Эту команду я использую раз в минуту на 4-6 серверов NTP.
В итоге в syslog попадает ОГРОМНАЯ куча спама.

Вопрос: я установил sudo 1.8.6p3, т.к. вычитал что в этой версии есть замечательные опции:
NOLOG_OUTPUT

Добавил в sudo:
sudo visudo

text
ADMIN ALL=(root) NOLOG_OUTPUT:NOPASSWD: /usr/sbin/ntpdate -d*

Но системе пофиг на NOLOG_OUTPUT, как и вообще на спецификации: LOG_INPUT, NOLOG_INPUT, LOG_OUTPUT, NOLOG_OUTPUT.
спам в syslog не прекратился.
Я сделал решение не удовлетворяющее меня с точки зрения безопасности:

text
Defaults:user_name_Vuasiya !syslog

Но тогда все что делает user_name_Vuasiya в sudo не пишется в syslog.
А мне надо чтобы только одна команда не писалась. Кто знает решение?

"Отрывок MAN:"

User specification
User_Spec ::= User_List Host_List '=' Cmnd_Spec_List \
(':' Host_List '=' Cmnd_Spec_List)*

Cmnd_Spec_List ::= Cmnd_Spec |
Cmnd_Spec ',' Cmnd_Spec_List

Cmnd_Spec ::= Runas_Spec? Tag_Spec* Cmnd

Runas_Spec ::= '(' Runas_List? (':' Runas_List)? ')'

Tag_Spec ::= ('NOPASSWD:' | 'PASSWD:' | 'NOEXEC:' | 'EXEC:' |
'SETENV:' | 'NOSETENV:' | 'LOG_INPUT:' | 'NOLOG_INPUT:' |
'LOG_OUTPUT:' | 'NOLOG_OUTPUT:')
***********************************
sudoers also supports logging a command's input and output streams.
I/O logging is not on by default but can be enabled using the
log_input and log_output Defaults flags as well as the LOG_INPUT and
LOG_OUTPUT command tags.
***********************************

LOG_INPUT and NOLOG_INPUT

These tags override the value of the log_input option on a per-command
basis. For more information, see the description of log_input in the
SUDOERS OPTIONS section below.

LOG_OUTPUT and NOLOG_OUTPUT

These tags override the value of the log_output option on a per-
command basis. For more information, see the description of
log_output in the SUDOERS OPTIONS section below.
*************************************
log_input If set, sudo will run the command in a pseudo tty
and log all user input. If the standard input is
not connected to the user's tty, due to I/O
redirection or because the command is part of a
pipeline, that input is also captured and stored in
a separate log file.

Input is logged to the directory specified by the
iolog_dir option (/var/adm/sudo-io by default) using
a unique session ID that is included in the normal
sudo log line, prefixed with ``TSID=''. The
iolog_file option may be used to control the format
of the session ID.

Note that user input may contain sensitive
information such as passwords (even if they are not
echoed to the screen), which will be stored in the
log file unencrypted. In most cases, logging the
command output via log_output is all that is required.

log_output If set, sudo will run the command in a pseudo tty
and log all output that is sent to the screen,
similar to the script(1) command. If the standard
output or standard error is not connected to the
user's tty, due to I/O redirection or because the
command is part of a pipeline, that output is also
captured and stored in separate log files.

Output is logged to the directory specified by the
iolog_dir option (/var/adm/sudo-io by default) using
a unique session ID that is included in the normal
sudo log line, prefixed with ``TSID=''. The
iolog_file option may be used to control the format
of the session ID.

Output logs may be viewed with the sudoreplay(1m)
utility, which can also be used to list or search
the available logs.

__________________________________________________________________________
//не забываем пользоваться разметкой (BBcode)
diablopc

17.02.2015 10:05 #414563

Я не правильно понял:'LOG_INPUT:' | 'NOLOG_INPUT:' | 'LOG_OUTPUT:' | 'NOLOG_OUTPUT:'
Я думал, что эти опции могут отключить вывод в сислог сообщение о том, что команда была использована таким-то пользователем. Но это не так. Она открывает/закрывает только вывод команды в сислог. Вопрос по поводу NOLOG_OUTPUT отпал. остался вопрос как сделать так, чтобы в сислог не писался спам о том, что пользователь набрал в шеле определенную команду:
sudo any_command. Все остальные команды примененные с использованием sudo от этого пользователя писались в сислог.

17.02.2015 10:17 #414565

Возможно тебе следует заблокировать эти сообщения в настройках твоего syslog.

17.02.2015 11:26 #414572

wtf, зачем такой велосипед? Используйте сервис ntp

17.02.2015 12:30 · отредактировано #414575
i2ks написал:
wtf, зачем такой велосипед? Используйте сервис ntp

подробнее пожалуйста. Я использовал проверку от сервиса нтп в другой части скрипта.
вот случилась например ситуация:
сервер НТП какой то-то урод перевел на час вперед. Мой нтп клиент решил, что нафиг такой нтп сервер, а поскольку в ntp.conf стоит только одна запись вида
server ip.server.com
то мой сервер выключает нтп демон через 15 минут. Дабы не с чем сравниваться. не будем вдаваться в полемику и развивать а если, да ка бы, итд. ситуация реальна? - да. чтобы поймать админа НТП сервера за руку надо логи? - да. Чем ловим если не NTP демоном? я нашел метод дебага через ntpdate который не зависит от состояния моего демона на клиенте.

17.02.2015 12:32 #414576

Найти надёжный сервер времени так сложно?
Тогда можно сделать свой с синхронизацией от GPS/GLONASS приёмника.

17.02.2015 12:46 · отредактировано #414579
"shinma" написал:
ервер НТП какой то-то урод перевел на  час вперед. Мой нтп клиент решил, что нафиг такой нтп сервер, а поскольку в ntp.conf стоит только одна запись вида
server ip.server.com
то мой сервер выключает нтп демон через 15 минут. Дабы не с чем сравниваться. не будем вдаваться в полемику и развивать а если, да ка бы, итд. ситуация реальна? - да. чтобы поймать админа НТП сервера за руку надо логи? - да. Чем ловим если не NTP демоном? я нашел метод дебага через ntpdate который не зависит от состояния моего демона на клиенте.

ОМГ, у меня не с один десяток серверов и таких проблем не было ни когда.
1. Обновлеям tzdata в системе - это надо делать периодически.
2. Для любой вменяемый ntp сервер подойдет, например ru.pool.ntp.org
3. у меня не один десяток серверов, и все отлинчо синхрятся.
4. Даже NTP есть для dmz.

17.02.2015 12:48 · отредактировано #414581

Нашел решение

Cmnd_Alias SCRIPT = /usr/sbin/ntpdate
Defaults!SCRIPT !syslog

Проблема в том, что у вас есть возможности, а у меня нет. почему да как это уже другая тема. Выкручиваюсь как могу, на том на чем предоставили.

17.02.2015 12:52 #414582

Ну главное вопрос решили :)

17.02.2015 13:45 #414588

если Украина то вот серваки со страмумом 1 и 2

text
ntp.time.in.ua
ntp2.time.in.ua
ntp3.time.in.ua
17.02.2015 14:51 · отредактировано #414595

А если в корпоративное сети, где мне дают 2 адреса НТП серверов стратум 3 и которые, как оказалось не могут гарантировать стабильную работу НТП? и выхода в интернет нет. и закупать железо собственно тоже не моя проблема, и админы НТП серверов это вообще другая служба которой я не могу ничего предъявить итд

Я админ юникс ос. у меня есть юникс и есть проблема. надо решать проблему минимальными средствами с максимальным выхлопом, безопасностью и без использования любого стороннего софта и железа. Как говорится сделать из ...того что есть - конфетку.

Решение я написал. Ответы выше, что мне предлагают не укладываются в рамки заданного мною вопроса в шапке темы.

17.02.2015 15:25 #414597
"shinma" написал:
А если в корпоративное сети, где мне дают 2 адреса НТП серверов стратум 3 и которые, как оказалось не могут гарантировать стабильную работу НТП? и выхода в интернет нет. и закупать железо собственно тоже не моя проблема, и админы НТП серверов это вообще другая служба которой я не могу ничего предъявить итд

Печально все у вас.

"shinma" написал:
дмины НТП серверов это вообще другая служба которой я не могу ничего предъявить итд

эскалация проблемы на уровне начальника/руководства решает массу проблем, начиная от недопонимания админов, заканчивая нормальным решением.

"shinma" написал:
Я админ юникс ос. у меня есть юникс и есть проблема. надо решать проблему минимальными средствами с максимальным выхлопом, безопасностью и без использования любого стороннего софта и железа. Как говорится сделать из ...того что есть - конфетку.

А после вас ваши костыли кто будет разгребать?
Видили такое и проходил не раз.

Войдите или зарегистрируйтесь, чтобы ответить.