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 3.1k 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.
    • 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.