Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    NUT Can't chdir to /var/db/nut: Permission denied EATON

    Scheduled Pinned Locked Moved SNMP
    nutupspermissions
    13 Posts 3 Posters 2.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • GertjanG
      Gertjan @abs0new
      last edited by

      @abs0new said in NUT Can't chdir to /var/db/nut: Permission denied EATON:

      total 13
      drwxrwx--- 2 uucp wheel 256B Aug 31 16:01 .
      drwxr-xr-x 9 root wheel 832B Aug 31 15:56 ..
      -rwxrwx--- 1 uucp wheel 6B Aug 31 15:58 upsd.pid
      -rwxrwx--- 1 uucp wheel 6B Aug 31 16:03 upsmon.pid
      srwxrwx--- 1 root nut 0B Aug 31 16:01 usbhid-ups-ups
      -rwxrwx--- 1 root wheel 6B Aug 31 16:01 usbhid-ups-ups.pid

      Mine :

      4acf49be-597c-4f60-ad5b-966a61e1e267-image.png

      Why would you have to start stop manipulate processes like this manually ,

      No "help me" PM's please. Use the forum, the community will thank you.
      Edit : and where are the logs ??

      1 Reply Last reply Reply Quote 0
      • dennypageD
        dennypage @abs0new
        last edited by

        @abs0new Please try this:

        chown nut /var/db/nut
        

        And then re-save your UPS configuration.

        GertjanG 1 Reply Last reply Reply Quote 0
        • GertjanG
          Gertjan @dennypage
          last edited by

          @dennypage

          'nut' is the owner when installed :

          [23.05.1-RELEASE][root@pfSense.bhf.net]/var/db: ls -al | grep 'nut'
          drwxr-x---   2 nut       nut             6 Aug 31 15:54 nut
          

          No "help me" PM's please. Use the forum, the community will thank you.
          Edit : and where are the logs ??

          dennypageD 1 Reply Last reply Reply Quote 0
          • A
            abs0new Rebel Alliance
            last edited by abs0new

            @Gertjan said in NUT Can't chdir to /var/db/nut: Permission denied EATON:

            ls -al | grep 'nut'

            Thank you for your answers @Gertjan and @dennypage

            I did :

            chown nut /var/db/nut
            

            now i got :

            ls -lah /var/db/nut
            
            drwxrwx---  2 nut   wheel   128B Sep  1 10:46 .
            drwxr-xr-x  9 root  wheel   832B Sep  1 02:55 ..
            -rw-r--r--  1 root  wheel     6B Sep  1 10:45 upsd.pid
            -rwxrwxr--  1 root  wheel     6B Sep  1 10:45 upsmon.pid
            

            then i resaved the conf, it automaticaly restart the services.
            I still got this logs errors :

            2023-09-01 10:45:53.791053+02:00 	upsmon 	47178 	UPS ups is unavailable
            2023-09-01 10:45:53.791015+02:00 	upsmon 	47178 	Poll UPS [ups] failed - Driver not connected
            2023-09-01 10:45:53.790711+02:00 	upsd 	49368 	User local-monitor@::1 logged into UPS [ups]
            2023-09-01 10:45:49.815818+02:00 	upsd 	49368 	Startup successful
            2023-09-01 10:45:49.786932+02:00 	upsd 	49091 	Can't connect to UPS [ups] (usbhid-ups-ups): No such file or directory 
            

            but now when i try do launch manually with :

            upsdrvctl -D start ups
            

            i got this slightly different messages :

            Network UPS Tools - UPS driver controller 2.8.0
               0.000000	[D1] Starting UPS: ups
            Network UPS Tools - Generic HID driver 0.47 (2.8.0)
            USB communication driver (libusb 1.0) 0.43
            libusb1: Could not open any HID devices: no USB buses found
            No matching HID UPS found
               0.003886	Driver failed to start (exit status=1)
            
            

            the permission denied disappeared that's a good start.

            You may need to check my configuration (done from GUI)

            *usb type : local usb
            ups name : ups
            enable notifications : true
            driver : usbhid

            upsd.users :
            [monuser]
            password = secret*

            i tried to keep it simple but it seems to be a driver problem not a communication between server and pfsense.

            from server i can contact the specified port :

            nc -zv 10.0.200.2 3493
            Connection to 10.0.200.2 3493 port [tcp/nut] succeeded!
            

            EDIT : for a more verbose log output :

            Network UPS Tools - Generic HID driver 0.47 (2.8.0)
            USB communication driver (libusb 1.0) 0.43
               0.000000	[D3] main_arg: var='driver' val='usbhid-ups'
               0.000030	[D3] main_arg: var='port' val='auto'
               0.000051	[D5] send_to_all: SETINFO driver.parameter.port "auto"
               0.000077	[D1] debug level is '5'
               0.000672	[D5] send_to_all: SETINFO device.type "ups"
               0.000691	[D2] Initializing an USB-connected UPS with library libusb-1.0.0 (API: 0x1000102) (NUT subdriver name='USB communication driver (libusb 1.0)' ver='0.43')
               0.000699	[D1] upsdrv_initups (non-SHUT)...
               0.000961	[D2] libusb1: No appropriate HID device found
               0.000975	libusb1: Could not open any HID devices: no USB buses found
               0.000981	No matching HID UPS found
            
            
            GertjanG 1 Reply Last reply Reply Quote 0
            • GertjanG
              Gertjan @abs0new
              last edited by

              @abs0new said in NUT Can't chdir to /var/db/nut: Permission denied EATON:

              I did :

              chown nut /var/db/nut

              now i got :

              ls -lah /var/db/nut

              drwxrwx--- 2 nut wheel 128B Sep 1 10:46 .
              drwxr-xr-x 9 root wheel 832B Sep 1 02:55 ..
              -rw-r--r-- 1 root wheel 6B Sep 1 10:45 upsd.pid
              -rwxrwxr-- 1 root wheel 6B Sep 1 10:45 upsmon.pid

              The chown command doesn't touch/changes the files IN the /var/db/nut/ folder, the ones you've shown.
              It changes the owner of the nut folder, see my example above.

              No "help me" PM's please. Use the forum, the community will thank you.
              Edit : and where are the logs ??

              A 1 Reply Last reply Reply Quote 0
              • A
                abs0new Rebel Alliance @Gertjan
                last edited by abs0new

                @Gertjan right

                so i need to change the file's permission within the /var/db/nut directory ?

                like :

                chown -R nut:nut /var/db/nut/
                

                ?

                EDIT: maybe reinstalling the package can restore the initial permissions ?

                i think i restored the correct permissions on the directory as foolows :

                ls -lah /var/db/nut/
                total 9
                drwxrwx---  2 nut   nut     128B Sep  1 11:15 .
                drwxr-xr-x  9 root  wheel   832B Sep  1 02:55 ..
                -rw-r--r--  1 root  nut       6B Sep  1 10:45 upsd.pid
                -rw-r--r--  1 root  uucp      6B Sep  1 10:45 upsmon.pid
                
                
                GertjanG 1 Reply Last reply Reply Quote 0
                • GertjanG
                  Gertjan @abs0new
                  last edited by

                  @abs0new said in NUT Can't chdir to /var/db/nut: Permission denied EATON:

                  EDIT: maybe reinstalling the package can restore the initial permissions ?

                  👍

                  No "help me" PM's please. Use the forum, the community will thank you.
                  Edit : and where are the logs ??

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    abs0new Rebel Alliance @Gertjan
                    last edited by

                    @Gertjan

                    That's a good news.
                    but unfortuntely i still can't roperly start the driver.

                    /usr/local/libexec/nut/usbhid-ups -a ups -DD
                    
                    Network UPS Tools - Generic HID driver 0.47 (2.8.0)
                    USB communication driver (libusb 1.0) 0.43
                       0.000000	[D3] main_arg: var='driver' val='usbhid-ups'
                       0.000030	[D3] main_arg: var='port' val='auto'
                       0.000051	[D5] send_to_all: SETINFO driver.parameter.port "auto"
                       0.000077	[D1] debug level is '5'
                       0.000672	[D5] send_to_all: SETINFO device.type "ups"
                       0.000691	[D2] Initializing an USB-connected UPS with library libusb-1.0.0 (API: 0x1000102) (NUT subdriver name='USB communication driver (libusb 1.0)' ver='0.43')
                       0.000699	[D1] upsdrv_initups (non-SHUT)...
                       0.000961	[D2] libusb1: No appropriate HID device found
                       0.000975	libusb1: Could not open any HID devices: no USB buses found
                       0.000981	No matching HID UPS found
                    

                    it may be related with the /etc/devfs.conf /etc/devfs.rules.

                    I think i should reboot the pfsense as mentionned in troubleshooting here :

                    https://blog.victormendonca.com/2020/10/28/how-to-setup-ups-on-pfsense/

                    but as it is in production i need to wait .

                    I'll try to tweak the devfs rules/conf .

                    dennypageD 1 Reply Last reply Reply Quote 0
                    • dennypageD
                      dennypage @Gertjan
                      last edited by

                      @Gertjan said in NUT Can't chdir to /var/db/nut: Permission denied EATON:

                      'nut' is the owner when installed

                      Look at line 57 in nut.inc.

                      It's one of the things I need to fix in the transition from using a release version of nut to using the development version of nut.

                      I won't be able to get to it until end of next week.

                      1 Reply Last reply Reply Quote 0
                      • dennypageD
                        dennypage @abs0new
                        last edited by

                        @abs0new said in NUT Can't chdir to /var/db/nut: Permission denied EATON:

                        I'll try to tweak the devfs rules/conf .

                        Should not be needed.

                        Can you run the following:

                        • disable the UPS service and save
                        • unplug the usb connection and wait a few seconds
                        • re-plug the usb connection
                        • run "usbconfig -v" in a shell
                        • re-enable the UPS service and save
                        • run the usbconfig command again

                        And post the results please?

                        A 1 Reply Last reply Reply Quote 0
                        • A
                          abs0new Rebel Alliance @dennypage
                          last edited by abs0new

                          @dennypage

                          Thank you it worked !

                          I changed the usb cable in case it was malfunctioning.
                          I also changed the usb port : from ugen1.3 to ugen0.6

                          at some point i needed to chown back the /var/db/nut directory to nut:nut with

                          chown -R nut:nut: /var/db/nut/
                          

                          here is the output of usbconfig -v :

                          ugen0.6: <EATON Eaton 5P> at usbus0, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON (20mA)
                          
                            bLength = 0x0012 
                            bDescriptorType = 0x0001 
                            bcdUSB = 0x0110 
                            bDeviceClass = 0x0000  <Probed by interface class>
                            bDeviceSubClass = 0x0000 
                            bDeviceProtocol = 0x0000 
                            bMaxPacketSize0 = 0x0008 
                            idVendor = 0x0463 
                            idProduct = 0xffff 
                            bcdDevice = 0x0202 
                            iManufacturer = 0x0001  <EATON>
                            iProduct = 0x0002  <Eaton 5P>
                            iSerialNumber = 0x0003  <G117L13177>
                            bNumConfigurations = 0x0001 
                          
                          
                           Configuration index 0
                          
                              bLength = 0x0009 
                              bDescriptorType = 0x0002 
                              wTotalLength = 0x0022 
                              bNumInterfaces = 0x0001 
                              bConfigurationValue = 0x0001 
                              iConfiguration = 0x0000  <no string>
                              bmAttributes = 0x00a0 
                              bMaxPower = 0x000a 
                          
                              Interface 0
                                bLength = 0x0009 
                                bDescriptorType = 0x0004 
                                bInterfaceNumber = 0x0000 
                                bAlternateSetting = 0x0000 
                                bNumEndpoints = 0x0001 
                                bInterfaceClass = 0x0003  <HID device>
                                bInterfaceSubClass = 0x0000 
                                bInterfaceProtocol = 0x0000 
                                iInterface = 0x0000  <no string>
                          
                                Additional Descriptor
                          
                                bLength = 0x09
                                bDescriptorType = 0x21
                                bDescriptorSubType = 0x10
                                 RAW dump: 
                                 0x00 | 0x09, 0x21, 0x10, 0x01, 0x21, 0x01, 0x22, 0x25, 
                                 0x08 | 0x04
                          
                               Endpoint 0
                                  bLength = 0x0007 
                                  bDescriptorType = 0x0005 
                                  bEndpointAddress = 0x0081  <IN>
                                  bmAttributes = 0x0003  <INTERRUPT>
                                  wMaxPacketSize = 0x0008 
                                  bInterval = 0x0014 
                                  bRefresh = 0x0000 
                                  bSynchAddress = 0x0000
                          

                          when i restarted the driver with :

                          /usr/local/libexec/nut/usbhid-ups -dddd -a up
                          

                          i got :

                          Network UPS Tools - Generic HID driver 0.47 (2.8.0)
                          USB communication driver (libusb 1.0) 0.43
                          Using subdriver: MGE HID 1.46
                                                                                                         
                          Broadcast Message from root@pf                                       
                                  (no tty) at 15:26 CEST...                                              
                                                                                                         
                          Communications with UPS ups established
                          

                          i also restarted the service via the webui and it worked.

                          So i'm monitoring the service in case anything goes wrong.

                          Do you think i may need to tweak the driver's conf with some of this option :

                          for example :

                          waitbeforereconnect=30
                          
                          

                          i'll keep this post open so i can confirm it works flawlessly next week after another reboot.

                          Thank you very much for help.

                          dennypageD 1 Reply Last reply Reply Quote 0
                          • dennypageD
                            dennypage @abs0new
                            last edited by

                            @abs0new Unfortunately, the issue of ownership of /var/db/nut will currently arise every time you reboot.

                            To remediate, you can either edit nut.inc, add a boot time shell script, or wait until I can fix the package.

                            1 Reply Last reply Reply Quote 0
                            • First post
                              Last post
                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.