Your rules file alters the user and group to the nonexistent user and group nvidia
- this is not going to solve your problem in fact it'll just not work because the user and group nvidia
isn't a default group, and your user isn't in it. You also shouldn't set your sockets to 777
permissions - for the same reason you don't give it to files (see this post regarding why you shouldn't give 777
to /var/www
for similar security concerns). There are additional access controls to devices as part of AppArmor isolation rules for different applications as well, which you can't overcome as a standard user. Which is why the dialout
group exists to give access to those devices.
The nVidia tutorial is likely for some other system, or outdated - you shouldn't need to use their rules, instead just give yourself access with dialout
.
When working with user level privileges, special devices such as serial port communications require extra privileges. These are granted by the dialout
group (for devices such as dialup modems, USB Serial Adapters, etc.)
Simply add your group to the dialout
group, reboot, and you'll have access. Use this command on the command line:
sudo usermod -a -G dialout $USER
Replace $USER
with your username on the computer, then when you reboot and relogon to your session you'll have access to that device and other devices. Serial communication ports require dialout
permissions, which is easy to put yourself into.
That should be all you or any other user needs to do to access the device. You should leave the default permissions alone, unless you have some very specific use case that is not specified in your question.