与えられたシンボリックリンクのファイル権限の変更

与えられたシンボリックリンクのファイル権限の変更

特定の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

ターゲットファイルの権限を変更するためにシンボリックリンクで機能するコマンドはありますか?つまり

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

関連情報