Я новичок в 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--+
. Это указывает на то, что здесь есть ACL :
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--
Видимо, Кнут пользователь имеет дополнительные rw
разрешения здесь. Но как он их получил?
Я могу установить те же разрешения для моего пользователя с помощью setfacl
. Но какой-либо подобный набор не будет присутствовать после повторного подключения камеры. После включения и выключения камеры она фактически устанавливается на другое устройство:
ulf@term13:~(0)$ lsusb | grep Nikon
Bus 001 Device 093: ID 04b0:0428 Nikon Corp.
Но разрешения для нового устройства 093 такие же, как и у старого 092 (без каких-либо дополнительных разрешений я добавил к 092).
Я думаю, есть файл udev
-rule, который должен быть ответственным, но он пустой ???
ulf@term13:~(0)$ ls -alF /etc/udev/rules.d/90-libgphoto2.rules
-rw-r--r-- 1 root root 0 26 aug 2014 /etc/udev/rules.d/90-libgphoto2.rules
И ни один из других файлов udev не имеет ничего общего с этим.
Есть ли какой-нибудь файл, где это настроено? Это настройка системного администратора, которого здесь больше нет, поэтому мне нужно исправить это самому.