Eu sou novo em acl's, então isso é blackmagic para mim. Mas o que eu tenho é uma câmera com a qual eu quero conversar.
Então eu tenho uma máquina debian da netbooted:
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
Para essa máquina, eu tenho uma câmera acoplada:
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
Observe o +
no final da porcentagem de permissões crw-rw-r--+
. Isso indica que há uma ACL no trabalho aqui:
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--
Aparentemente, o knut do usuário tem permissões adicionais de rw
aqui. Mas como ele conseguiu isso?
Eu posso definir as mesmas permissões para o meu usuário com setfacl
. Mas qualquer conjunto assim não estará presente depois que a câmera for reconectada. Depois de ligar e desligar a câmera, ela é montada em outro dispositivo:
ulf@term13:~(0)$ lsusb | grep Nikon
Bus 001 Device 093: ID 04b0:0428 Nikon Corp.
Mas as permissões para o novo dispositivo 093 são as mesmas do antigo 092 (sem nenhuma permissão extra que eu adicionei ao 092).
Existe algum arquivo onde isso está configurado? Isso é configurado por um sysadmin que não está mais presente aqui, então eu preciso consertar isso sozinho.