node-red-nodes icon indicating copy to clipboard operation
node-red-nodes copied to clipboard

Permission problem Sense Hat node

Open kafkaah opened this issue 2 years ago • 0 comments

Which node are you reporting an issue on?

node-red-node-pi-sense-hat

What are the steps to reproduce?

  • Install node-red-node-pi-sense-hat
  • Use the Sense Hat node (out) in a flow
  • Connect the node to inject with [4-6,*,purple]
  • Deploy the flow

What happens?

  • The Sense Hat node is [disconnected]
  • Log shows: pam_unix(sudo:auth): conversation failed pam_unix(sudo:auth): auth could not identify password for [nodered]
  • The Sense Hat LED array is blank

Seems like the node is trying to sudo a certain command and cannot without the user passwd. Since I can't find what the node is trying to access using sudo I can't specify that very command in /etc/sudoers as a NOPASSWD. The current workaround basically gives all access to all and any command to the dedicated user I created named nodered.

What do you expect to happen?

  • The Sense Hat node is [connected]
  • The Sense Hat LED array shows 3 vertical purple lines

Please tell us about your environment:

  • [x] Node-RED version: 3.0
  • [x] node.js version: 18
  • [x] npm version: 9.5
  • [x] Platform/OS: Raspberry Pi OS 64 bit latest
  • [x] Browser: Chrome

(Sub-optimal) first workaround

I put this line in /etc/sudoers: nodered ALL=(ALL) NOPASSWD: ALL

Better (current) workaround (March 12)

sudo is not needed when calling the sensehat Python script.

sensehat Python script (Line 18)

Replaced by (no $SUDO):

$python_cmd -u $BASEDIR/sensehat.py $@

My Python installation is pretty much run-of-the-mill (as the configuration of the SenseHat module) and does not require sudo when running the script linked above.

Thanks for your help.

kafkaah avatar Mar 05 '23 14:03 kafkaah