Вы не можете «вернуть исходные права доступа» к файлу. Однако вы можете прямо сейчас установить для них значения по умолчанию .
touch /tmp/file.$$ # Create a temporary file with "default" perms
chmod --ref=/tmp/file.$$ new.txt # "Reset" the file new.txt
rm -f /tmp/file.$$ # It's always good to tidy up
Настройка по умолчанию управляется значением umask
оболочки. В моей системе вот текущая настройка:
umask
0022
Это означает, что разрешение на запись (значение 02, двоичное значение 010 )для группы и других должно быть удалено , когда файл или каталог создано.
Также имейте в виду, что большинство редакторов не будут создавать файл с исполняемым битом, установленным (двоичным значением 001 ), хотя это должно быть разрешено настройкой umask
. Вы, как пользователь, должны различать обычный файл (без разрешения на выполнение )и скрипт (с разрешением на выполнение ):
chmod +x new.txt # Add execute permission
Следуя двум указаниям Эммануэля, моя суть обновлена.
В файле configuration.nix попробуйте
services.udev.packages = [ px4_drv ]
Вам также может понадобиться изменить путь udev в installPhase на $out/lib/udev/rules.d
, а не $out/etc/udev/rules.d
.