更改给定符号链接的文件权限

更改给定符号链接的文件权限

此处列出了特定的 USB 硬件:

ls -l /dev/input/by-id/

符号链接:/dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd 解析为: /dev/input/eventxx 其中 xx 是整数。在此示例中,事件 19:

ls -l /dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd
lrwxrwxrwx 1 root root 10 Nov 23 22:02 /dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd -> ../event19

是否有一个命令可以作用于符号链接来更改目标文件的权限? IE

chmod 666 /dev/input/eventXX

期待聪明而优雅的例子。

答案1

怎么样

chmod 666 /dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd

我希望这足够优雅!

来自GNU 手册chmod

chmod永远不会更改符号链接的权限,因为 chmod系统调用无法更改其权限。这不是问题,因为符号链接的权限从未被使用过。但是,对于命令行上列出的每个符号链接,chmod 都会更改所指向文件的权限。

这可能是 GNU 特定的,但由于您运行的是 Linux 发行版,因此您可能已经拥有 GNU coreutils。

答案2

不像接受的答案那么优雅:

readlink -f  /dev/input/by-id/usb-Metrologic_Metrologic_Scanner-event-kbd | sudo xargs chmod 666

相关内容