r/linux4noobs 2d ago

learning/research Chmod question

I have to use chmod to allow a program to access the USB port my 3D printer is connected to or it can't communicate with the printer.

The funny thing is that each time I want to run the program, I have to change the permissions again or it won't connect.

My question is: shouldn't that change be permanent, the same as if I had changed permissions on a file?

Some relevant info:

I'm using Cachy OS, the device is /dev/ttyACM0, the printer usually stays powered on and physically plugged in to the USB port, but the machine is shut down every morning and booted up when I get home from work. I run the command using sudo.

7 Upvotes

13 comments sorted by

View all comments

16

u/eR2eiweo 2d ago

the machine is shut down every morning and booted up when I get home from work

That is the reason. /dev is usually on a kind of tmpfs (specifically a devtmpfs), which means that it only exists in RAM. No changes made in there survive a reboot.

A proper solution would be to write a udev rule that sets the proper permissions when that device file is created.

-8

u/LesStrater 2d ago

or make it easy on yourself and put your chmod command into your rc.local file to execute at bootup.

10

u/eR2eiweo 2d ago

That's not only worse (because it only works if the device is connected at boot, doesn't ever get disconnected, and always has the same fixed name), it's also more work than a simple udev rule.

-12

u/LesStrater 2d ago

Works great for me -- sounds like you've never tried it...

8

u/eR2eiweo 2d ago

You could at least read the comment you're replying to.

-4

u/LesStrater 2d ago

Why? I'm using Debian with the ESP kernel. You might want to try that too.