sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #79682
Re: USB rettigheder
Sune Vuorela wrote:
> On 2005-01-19, Peter Rude <phr@xxxxxxxx> wrote:
>> On Wed, 19 Jan 2005 17:39:17 +0000, Sune Vuorela wrote:
>>
>>> Hvis du kører med statisk /dev - så er det bare chmod og/eller chown
>>> lige som hvis det var en fil du skulle have rettigheder til.
>>>
>>> Hvis du kører med udev eller noget andet fancy, så skal du vidst kigge
>>> på opsætningen af det.
>>
>> Jeg kan godt chmod'e /dev/ttyUSB0 så det funker men - /dev/ttyUSB0
>> forsvinder når usb stikket trækkes ud (er det det du mener med udev?)
>> så der skal chmod'es hver gang, og det er ikke så hensigtsmæssigt.
>
> Så kører du med udev eller der er vidst også noget andet der måske
> hedder devfs som også er en eller anden dynamisk håndtering af /dev.
udev er den "nye devfs".
Oprindelig kørte alle maskiner statisk /dev, men da dette betyder at man
skal bruge ret lang tid på manuelt at kalde MAKEDEV el. lign, er det en ret
dårligt løsning (dog fin til fx embedded brug).
devfs var første forsøg på at løse dette problem, og fungerer ved at man har
et nyt pseudo-filsystem (devfs, sjovt nok) og en user space daemon (devfsd)
der håndterer alle device nodes. Alle drivere blev i sin tid skrevet om til
devfs-kompatibel registrering af devices.
Med kerne 2.6 begyndte folk for alvor at se problemer med devfs. Dels er der
nogle race conditions, dels er dens navngivning ikke særlig "unixy". Da man
under udviklingen af 2.5/2.6 lavede hotplug-systemet (der giver
notifikationer når en enhed sættes til), øjnede Linus chancen for at smide
devfs på porten - udev var blevet skabt. Det smarte ved udev er at det kun
er et user space program (udevd) der håndterer device nodes. Man kan godt
få udev til at emulere devfs-navnene til device nodes, men som default er
det slået fra.
udev er både hurtigere, mindre og nemmere at konfigurere end devfs, og kan
derfor klart anbefales. (personlig erfaring :)
Angående spørgsmålet om rettigheder på USB-enheder. Det er jo et klassisk
problem at hotplug-enheder ikke a priori har korrekte permissions på
dynamiske /dev-systemer. Dette problem løses også af hotplug-systemet i
kerne 2.6. Programmet "hotplug" (der med meget stor sandsynlighed er i en
pakke ved navn "hotplug") understøtter at køre scripts når enheder
tilsluttes. Man kan således gøre lige hvad man vil når man sætter en enhed
til. Knoppix/Mandrake/Redhat/Suse udnytter fx dette til at præsentere
USB-diske på skrivebordet, men mulighederne er endeløse.
Helt specifikt er der i min hotplug-pakke (fra debian) et script der sætter
camera-gruppen som gruppe, når man sætter et kamera til. Man kan sikkert
ændre dette script til at genkende /dev/ttyUSB0 og reagere på det i stedet.
> Selv kører jeg med statisk /dev, så de ændringer jge laver på /dev de er
> permanente.
> Folk påstår godt nok at dynamisk /dev-håndtering er rarere - og det kan
> være at jeg skal overveje det en dag.
Overvej det _i_ dag :)
--
Mvh
Christian Iversen
References