Ad Widget

Collapse

Проблема:: AllowRoot

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • khash
    Junior Member
    • Nov 2013
    • 14

    #1

    Проблема:: AllowRoot

    Отказался работать AllowRoot=1

    OS: CentOS Linux release 7.2.1511 (Core)
    zabbix-agent: Zabbix agent v2.0.16 (revision 56692) (12 November 2015)



    Скрипт: -rwx------ 1 root root 30 фев 26 17:35 /etc/zabbix/scripts/test.sh
    ________________________
    #!/bin/sh

    echo "ok"

    ________________________

    прописывается в /etc/zabbix/zabbix_agentd.conf как
    AllowRoot=1
    UserParameter=tst.[*],/etc/zabbix/scripts/test.sh



    при вызове с Zabbix сервера zabbix_get -s 192.168.10.10 -k tst.[] отдает пустую строку

    Если прописать права на исполняемый файл chmod 755 /etc/zabbix/scripts/test.sh

    запрос начинает отдавать "ok"

    либо в passwd на пользователю zabbix прописываешь
    zabbix:x:0:0:Zabbix Monitoring System:/var/lib/zabbix:/sbin/nologin

    запрос начинает отдавать "ок"

    Весь моск себе проел.... кто сталкивался с подобным ?

    На соседней машине все тоже самое работает корректно различаются только версии агента...

    OS: CentOS Linux release 7.2.1511 (Core)
    zabbix_agentd : Zabbix Agent (daemon) v2.0.14 (revision 51173) (15 December 2014)




    Скажите свое мнение...
    Last edited by khash; 26-02-2016, 18:05.
  • Firm
    Senior Member
    • Dec 2009
    • 342

    #2
    Когда стоит AllowRoot=1 и пользователь zabbix обычный, то под кем работает zabbix_server?

    Comment

    • khash
      Junior Member
      • Nov 2013
      • 14

      #3
      Originally posted by Firm
      Когда стоит AllowRoot=1 и пользователь zabbix обычный, то под кем работает zabbix_server?

      zabbix_server на сервере работает под пользователем zabbix но какое это имеет значение

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        Так это... стандартным способом ежели - локально через zabbix_agentd -t ... и strace? Всяко видно будет в чем отказывают.

        Comment

        • khash
          Junior Member
          • Nov 2013
          • 14

          #5
          Спасибо за внимание к моей теме ---


          Если стандартным способой зпустить zabbix_agentd -t tst.[] от рута то отдаст [t|ok]

          если от пользователя zabbix

          tst.[] sh: /etc/zabbix/scripts/test.sh: Permission denied


          В этом и суть


          У меня проблема что версии

          zabbix20-agent.x86_64 2.0.16-1.el7 @centos-7

          AllowRoot не работает
          Last edited by khash; 29-02-2016, 12:36.

          Comment

          • sadman
            Senior Member
            • Dec 2010
            • 1611

            #6
            Я бы ради интереса заменил нерабочего агента на рабочего. И всё же стрейснул - не исключено, что он конфиг в другом месте читает (например), а там AllowRoot запрещен.

            Так же меня смущает возвращаемая пустая строка. По логике должна быть "....test.sh: Permission denied"

            Кстати, в конфиге интересное написано:
            Code:
            #       Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
            #       will try to switch to the user specified by the User configuration option instead.
            Т.е. пускание от пользователя, вобщем-то, бессмысленно, так как агент не повышает права при AllowRoot=1, а оставляет, будучи запущенным из под рута, не выпадая в пользователя Zabbix.

            Comment

            • Firm
              Senior Member
              • Dec 2009
              • 342

              #7
              Запустите руками /usr/sbin/zabbix_agentd -c <config> и проверьте, под каким пользователем будет работать.

              Comment

              • khash
                Junior Member
                • Nov 2013
                • 14

                #8
                Да с принудительного запускас через -с оно заработало


                PHP Code:
                [root@ceph-node1 ~]# systemctl stop zabbix-agent
                [root@ceph-node1 ~]# zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf 
                [root@ceph-node1 ~]# ps -ef|grep zabbix
                root      9658     1  0 16:26 ?        00:00:00 zabbix_agentd -/etc/zabbix/zabbix_agentd.conf
                root      9659  9658  0 16
                :26 ?        00:00:00 zabbix_agentd -/etc/zabbix/zabbix_agentd.conf
                root      9660  9658  0 16
                :26 ?        00:00:00 zabbix_agentd -/etc/zabbix/zabbix_agentd.conf
                root      9661  9658  0 16
                :26 ?        00:00:00 zabbix_agentd -/etc/zabbix/zabbix_agentd.conf
                root      9662  9658  0 16
                :26 ?        00:00:00 zabbix_agentd -/etc/zabbix/zabbix_agentd.conf
                root      9663  9658  0 16
                :26 ?        00:00:00 zabbix_agentd -/etc/zabbix/zabbix_agentd.conf
                root      9736 15529  0 16
                :27 pts/1    00:00:00 grep --color=auto zabbix 
                Все отработало и на запрос tst.[] отдал ок



                Все правильно ... Спасибо буду копать дальше

                Comment

                • khash
                  Junior Member
                  • Nov 2013
                  • 14

                  #9
                  если запускать через systemd почему то запускаетс от пользователя zabbix

                  на первой машина AllowRoot=1 запускает от рута

                  Comment

                  • Firm
                    Senior Member
                    • Dec 2009
                    • 342

                    #10
                    Заглянуть в конфиг от systemd и посмотреть, откуда там берётся конфигурация для заббикса.

                    Comment

                    • khash
                      Junior Member
                      • Nov 2013
                      • 14

                      #11
                      Не конфиг один и в том и в другом случае он береться из

                      /etc/zabbix/zabbix_agentd.conf


                      Там ведь указано и Hostname и SourceIP и Ключи он бы не отдавал вообще ничего и на конкретный ключ вообще никак не реагировал


                      Непонятно почему он настойчиво запускает от zabbix


                      https://www.zabbix.com/documentation/2.0/ru/manual/concepts/agent

                      Пользователь процесса

                      Zabbix сервер спроектирован для запуска от не привилегированного пользователя (non-root). Он будет работать от любого не привилегированного пользователя от которого был запущен. Таким образом, вы можете запускать сервер от имени любого не привилегированного пользователя, без каких либо последствий.

                      Если вы попытаетесь запустить от 'root', сервер сразу переключится на пользователя 'zabbix', который должен присутствовать в вашей системе. Вы можете запустить агента из под 'root', если измените параметр 'AllowRoot' в соответсвующем файле конфигурации агента.
                      Last edited by khash; 29-02-2016, 17:05.

                      Comment

                      • khash
                        Junior Member
                        • Nov 2013
                        • 14

                        #12
                        Костыль

                        Ну в целом решил конечно

                        после формирования скрипта на запуск демона распологается зде

                        /usr/lib/systemd/system/zabbix-agent.service


                        меняется здесь

                        [Unit]
                        Description=Zabbix Monitor Agent
                        After=syslog.target network.target

                        [Service]
                        Type=forking
                        ExecStart=/usr/sbin/zabbix_agentd
                        User=root
                        PIDFile=/run/zabbix/zabbix_agentd.pid

                        [Install]
                        WantedBy=multi-user.target




                        Решение мне не нравится ибо костыль

                        Comment

                        • Firm
                          Senior Member
                          • Dec 2009
                          • 342

                          #13
                          Ну, это вопрос к авторам данного файла. Да, идеологически правильно будет сделать правки не в в файле /usr/lib/systemd/system/zabbix-agent.service, а в /etc/systemd/system/zabbix-agent.service.

                          Comment

                          • khash
                            Junior Member
                            • Nov 2013
                            • 14

                            #14
                            Финал истории

                            поставил пакет с сервера Zabbix сборка для RHEL

                            2.4.7




                            И все заработало - пакет в CentOS 7 2.0.16 корявый

                            Comment

                            Working...