如何在 USB 设备上设置 ACL

如何在 USB 设备上设置 ACL

我是 acl 的新手,所以这对我来说是黑魔法。但我拥有的是一台我想与之交谈的相机。

所以我得到了一台网络启动的 Debian 机器:

ulf@term13:~(0)$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 6.0.10 (squeeze)
Release:    6.0.10
Codename:   squeeze

我在那台机器上安装了一个相机:

ulf@term13:~(0)$ lsusb | grep Nikon
Bus 001 Device 092: ID 04b0:0428 Nikon Corp. 
ulf@term13:~(0)$ ls -alF /dev/bus/usb/001/092 
crw-rw-r--+ 1 root root 189, 91 25 sep 10.05 /dev/bus/usb/001/092

请注意+权限字符串末尾的crw-rw-r--+。这表明有一个前交叉韧带在这里工作:

ulf@term13:~(1)$ getfacl /dev/bus/usb/001/092 
getfacl: Removing leading '/' from absolute path names
# file: dev/bus/usb/001/092
# owner: root
# group: root
user::rw-
user:knut:rw-
group::rw-
mask::rw-
other::r--

显然用户 knutrw在这里拥有额外的权限。但他是怎么得到它们的呢?

我可以使用 为我的用户设置相同的权限setfacl。但重新连接相机后,任何类似的设置都不会出现。打开和关闭相机后,它实际上得到了已安装在另一台设备上:

ulf@term13:~(0)$ lsusb | grep Nikon
Bus 001 Device 093: ID 04b0:0428 Nikon Corp. 

但新 093 设备的权限与旧 092 相同(没有我添加到 092 的任何额外权限)。

是否有一些配置文件?这是由不再存在的系统管理员设置的,因此我需要自己修复它。

相关内容