Hardware Abstraction Layer (Slackware 12.0)
From linux360
Introducere
Implementarea HAL în Slackware Linux 12.0 este descrisă în CHANGES_AND_HINTS.TXT:
The /dev/cdrom line in /etc/fstab is commented out by default, as it interferes with HAL. HAL defaults to on, so if you do not wish to use it, you will need to chmod -x /etc/rc.d/rc.hald and uncomment the /dev/cdrom line in /etc/fstab Note that HAL will honor settings in /etc/fstab if a device is present there, so you could technically have removable devices defined in /etc/fstab, but if the fstab settings do not allow normal users to mount them (with the "user" or "users" option), then HAL/dbus will not allow them to be mounted either. Also note that you will need to run "/etc/rc.d/rc.messagebus reload" after adding any users to plugdev, power, or video groups so that it re-reads the /etc/group file.
Principala sarcină a HAL nu este montarea sistemelor de fişiere de pe diferite dispozitive de stocare externe (CD-uri/DVD-uri, memorii USB, harddisk-uri externe, carduri de memorie din aparatele/camerele digitale sau telefoanele mobile, etc.), ci informarea sistemului de operare despre faptul că un nou dispozitiv a fost conectat. Această informaţie este preluată de managerul de desktop (KDE, GNOME sau XFCE), iar acesta montează în mod automat acel sistem de fişiere într-un punct de montare, de obicei /media/<nume_dispozitiv>. Dacă sunteţi în afara mediului grafic X, HAL informează sistemul de operare, dar nici o aplicaţie nu poate prelua această informaţie. Dacă rulați un alt manager de desktop sau un manager de ferestre, atunci aveţi nevoie de aplicaţiile ivman şi pmount.
Mesajul de eroare
Acesta este mesajul de eroare care apare imediat după instalarea distribuţiei Slackware Linux 12.0, în momentul în care managerul de desktop primeşte informaţia de la HAL că un dispozitiv de stocare extern a fost conectat la sistem şi încearcă montarea automată a sistemului de fişiere de pe acel dispozitiv.
A security policy in place prevents this sender from sending this message to this recipient, see message bus configuration file (rejected message had interface "org.freedesktop.Hal.Device.Volume" member "Mount" error name "(unset)" destination "org.freedesktop.Hal")
Conform /etc/login.defs, utilizatorii care au dreptul de a utiliza consola ar trebui să fie adăugaţi în mod automat la grupurile cdrom şi plugdev.
# List of groups to add to the user's supplementary group set # when logging in on the console (as determined by the CONSOLE # setting). Default is none. # # Use with caution - it is possible for users to gain permanent # access to these groups, even when not logged in on the console. # How to do it is left as an exercise for the reader... # CONSOLE_GROUPS floppy:audio:video:cdrom:plugdev
Acest lucru nu este realizat din cauza modului în care funcţionează serviciul dbus: nu este necesar sau obligatoriu ca un nou utilizator adăugat la sistem să obţină în mod automat dreptul de a monta aceste dispozitive de stocare externe.
Rezolvarea problemei
Când serviciul messagebus porneşte, citeşte conţinutul fişierului /etc/group şi determină ce utilizatori au dreptul de a monta aceste dispozitive externe. Deci rezolvarea este relativ simplă: editaţi fişierul /etc/group şi adăugaţi la grupurile cdrom, plugdev (eventual şi power) numele utilizatorilor care vor avea dreptul să monteze automat aceste dispozitive:
cdrom::19:gabel
plugdev:x:83:gabel
power:x:84:gabel
Pentru editarea fișierului /etc/group este recomandată comanda vigr.
O altă comandă pentru administrarea fișierului /etc/group este gpasswd:
gpasswd -a gabel cdrom
gpasswd -a gabel plugdev
gpasswd -a gabel power