• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Xsane läuft mit USB-Scanner als root, aber nicht als user

Hallo,

habe hier unter Suse10.0 (Kaufversion) am USB-Port einen Epson-3490-Photo-USB-Scanner angeschlossen und den Treiber von www.avasys.jp installiert. Yast hat den Scanner einwandfrei erkannt.

Der Scanner läuft auch mit XSane oder dem Avasys-Programm Iscan - aber eben als root, nicht als user. Von Packman habe ich die Sane-Version 1.0.17 installiert.

kdesu kommt nicht in Frage, Xsane und/oder Iscan müssen als user laufen, ohne das der Anwender dieses PCs irgendwelche weiteren Befehle eingeben muß.

Ich habe hier lange alles zu dem Thema gelesen, aber nichts gefunden, was weiterhilft. Unter anderen Distris gibts diese Probleme nicht.

Es kann doch nicht sein, daß es unter Suse10 wirklich so ein Problem bedeutet, einen zweifelsfrei Linux-kompatiblen USB-Scanner für den user zum Laufen zu bringen, oder???
 
Bin mir gerade nicht sicher wie das bei SuSE ist, kenne das jetzt nur von meinem System. Schau mal ob der user in der Gruppe Scanner oder Sane ist falls es diese bei dir im System gibt.
 
OnkelchenTobi schrieb:
Bin mir gerade nicht sicher wie das bei SuSE ist, kenne das jetzt nur von meinem System. Schau mal ob der user in der Gruppe Scanner oder Sane ist falls es diese bei dir im System gibt.

Danke für Deinen Tip. Leider hab ich hier weder die Gruppe "Scanner" noch die Gruppe "sane".
 
Hei Caine.
Ich hätte aus einem anderen Linux-Forum dazu folgenden Vorschlag:

Re: Scannen nur unter root möglich

Wird ein USB-Gerät angeschlossen, so erhält im Normalfall nur root zugriff auf
das Gerät. Eine Änderung der Datei /etc/fstab bringt hier Abhilfe.
Ändere die Zeile

usbfs /proc/bus/usb usbfs noauto 0 0

zu

usbfs /proc/bus/usb usbfs noauto,devmode=0666 0 0

Hoffe das hilft weiter

Wiebke
 
wiebkes schrieb:
Wird ein USB-Gerät angeschlossen, so erhält im Normalfall nur root zugriff auf
das Gerät. Eine Änderung der Datei /etc/fstab bringt hier Abhilfe.
Ändere die Zeile

usbfs /proc/bus/usb usbfs noauto 0 0

zu

usbfs /proc/bus/usb usbfs noauto,devmode=0666 0 0

Hoffe das hilft weiter

Wiebke

Danke für den Tip. Ich hab ja weitergesucht, und auch diesen Hinweis gefunden, aber der funktioniert ebensowenig, denn man kann dann zwar als User Xsane aufrufen, aber muß dauernd das root-Passwort eingeben. Genau das muß aber vermieden werden, damit die Kunden nicht anfangen, rumzufummeln. UserInnen, die den Rechner nicht selbst einrichten und hernach auch verwalten können, brauchen kein root-Passwort...

Ich bin die Sucherei aber mittlerweile leid, und halte dieses Problem mit Scannern (denn es betrift ja nicht nur USB-Scanner...) für einen schlimmen, stupiden Fehler in dem ansich überhaupt nicht schlechten Suse10, und ich muß sagen, daß ich das angesichts der sonstigen guten Beschaffenheit von Suse10 (wenn man sich mal dran gewöhnt hat :wink:) sehr bedaure und es mich einfach ärgert, daß dem so ist, wie es ist!!

Was denken Suse/Novell? Flasche leer? :wink:

Und vor allem: was sollen Anfänger tun, die von Windows auf Suse10 umsteigen wollen und dann ihren Scanner wegen diesem Quatsch nicht nutzen können? Mit solchen Dümmeleien vergrault man ne Menge Leute, die ansich gerne nach Linux wollen. Das ist ein krasses Beispiel dafür, wie man ein eigentlich schönes Betriebssystem derbe verhunzen kann... (ja, zugegeben, ich bin sauer, weil mir Suse10 ansich einfach gut gefällt. Hrmpfgrmbl!)

Mich hats nun vergrault, zumal die Suse-Leute selber keine Lösung wissen, und ich die Zeit nicht habe, drauf zu warten, das irgendwann mal jemand eine funktionierende Lösung hat, denn Zeit ist Geld, und ich mach das nicht aus Jux und Dollerei, sondern beruflich.

Daher werd ich es nun mit ner anderen Distri probieren, von der bekannt ist, daß sie diesen Bug nicht hat (dafür andere, aber mit denen können Neu-User leben...) Ich richte die Kisten nämlich für Leute ein, die keine Techniker sind.
 
Hei.
Kann es sein, das bei dem Programm das da ausgeführt wird noch eins dieser schönen Sticky-Bits "immer als Root ausführen" gesetzt ist. Ich weiß ja, dass Du nicht mehr weitersuchen möchstes und ich habe keine Suse 10 und bin auch nicht an der Entwicklung beteiligt, sondern nur ein kleiner Datenbankentwickler in einer verdammt netten norwegischen Firma. Soll heißen wenn mein Linux zu Hause gerade mal kein Orakel ist hab ich das in englischer Schreibweise den ganzen Tag ;)

Mit oder ohne SuSE 10 viel Erfolg

Wiebke
 
Nachtrag:

Grad habe ich hier im Forum folgendes gefunden:

http://www.linux-club.de/viewtopic.php?t=48493

Rechteverwaltung / Zugriffsprobleme bei SuSE 10

Auszug aus SuSE-Portal:
Ab SUSE Linux 10.0 erfolgt die Zugriffskontolle mit "Whitelist"-Semantik.
Das bedeutet, dass es eine Liste der USB Scanner geben muss, für die der Zugriff explizit erlaubt ist. So eine Liste wird von der YaST Scannerkonfiguration automatisch für den resmgr eingerichtet:

/etc/resmgr.conf.d/50-scanner.conf

Das Format der Einträge ist beispielsweise

add usb:vendor=0x1a2b,product=0x3c4d scanner

Es betrifft auch andere USB-Geräte!

Nee, dat is doll. Echt. Das ist ja sowas von voll Einsteigergerecht. Und selbst als Techniker fragt man sich, ob das dann auch funktioniert, denn zu der Problematik mit Scannern unter Suse10 gibt es ja zahlreiche Tips, die alle gar nicht oder nur per root funktionieren...

Was soll der Whitelist-Unfug? Hat man bei Suse/Novell etwa Angst, daß sich jemand über ein in den Scanner eingelegtes Foto ins System schleicht und Schaden anrichtet??? :wink:

Wenn ich dann noch lese, daß es auch noch Probleme gibt, USB-Sticks zu benutzen, kann ich mich nur noch mit Grausen abwenden und Suse10 als wirklich sehr schöne Hülle mit leider, leider faulem Inneren bezeichnen, denn was erwartet einen noch an sinnlosen Restriktionen und absurden Besonderheiten?

Was ist denn z.B. mit Firewire? Soll ich vielleicht erst den lieben Gott oder den Novell-Cheffe persönlich um Erlaubnis bitten, wenn ich mal ne DigiCam anschließen und nen Film davon runterladen will?

Oder soll ich vielleicht zutiefst dankbar sein, daß ich wenigstens ne Diskette formatieren kann, ohne zuvor erstmal zig Sicherheits-Einstellungen auf Konsole deaktivieren zu müssen???

Was noch??? Da hat man ja Schiß, das OS überhaupt zu installieren, da kommt man ja aus dem Einrichten, Pflegen und eben Fummeln gar nicht mehr heraus...

Wer denkt sich so einen Bullshit aus???

Damit das niemand mißversteht: hier schreibt kein verkappter Windows-Fan, sondern ein totaler Linux-Befürworter und -Anwender und damit jemand, der nicht nachvollziehen kann, wie man ein eigentlich schönes Linux-OS dermaßen zunageln, verhunzen und damit für Einsteiger unmöglich machen kann!!!

Suse10 = Linux für Paranoiker???

Da kann ich zehnmal den Leuten Bücher empfehlen, die sie lesen sollen, wenn sie dann mit so einem, nirgends ordentlich dokumentierten Scheiß konfrontiert werden.

An wem bleibt sowas kleben?

Am OS-Hersteller und am Techniker, der so ein OS eingerichtet hat.

Nein, danke, das brauche ich nicht!

Hrmpfgrmbl!

@wiebkes:
Nö, das liegt nicht an der Software, sondern an den rigiden Schnittstellenrestriktionen, die man bei Suse10 u.a. mit einer "whitelist" für Scanner eingeführt hat.

Selten dämlich, das!
 
Jetzt beruhig Dich mal wieder! Mag ja sein das Du dich ärgerst, das ist aber kein Grund das ins Forum abzulassen.

Desweiteren: Das hat nichts mit SuSE zu tun. Ab dem Kernel 2.6 gibt es kein USB Scanner Modul mehr, so dass man nicht mehr über /dev/scanner angesprochen werden.

Stattdessen muss man über libusb gehen. D.h. die Dateien welche die passenden Zugriffsrechte haben müssen sind unter /proc/bus/usb zu finden. Welche das genau find liefert scan-find-scanner -q. Um das ganze dann auch Plug&Playfahig zu machen habe ich mir das folgende überlegt/zusammengesucht. Ich habs aber noch nicht getestet.

In /etc/hotplug/usb.usermap

mylibusbscanner 0x0003 0x04a9 0x220d 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

Der zweite und dritte Wert muss angepasst werden. Beim zweiten muss die entsprechende Vendor Angabe hin und beim dritten das Produkt. Beides erhält man über sane-find-scanner -q



Danach nach in /etc/hotplug/usb/mylibusbscanner reinschreiben
(ANPASSEN DER vendor UND product VARIABLE NICHT VERGESSEN)
---------------------------
#!/bin/sh

#Attention: It is possible that this script doesn't work correctly when using Kernel 2.6.14 or above as
#with these kernels the USB Devices will get real device nodes under /dev/bus/usb and not below /proc

#Change vendor
#and product values to those you'll get from
#sane-find-scanner -q
vendor=04a9
product=2206

#Group which should be able to access the scanner
group=scanner

####################################################################################################

line=`sane-find-scanner -q | grep ${vendor} | grep ${product} | | sed -r 's/:/\n/'| sed -r 's/:/\n/' | sed 1d `

bus=`echo $line | sed 's/\ /\n/' | sed 2d `
device=`echo $line | sed 's/\ /\n/' | sed 1d `

#Change the rights of the /proc/bus/usb device
if [[ ${ACTION} == 'add' ]]; then
cd /proc/bus/usb/${bus}
chown root:${group} ${device}
chmod g+w ${device}
fi


#Proably nothing to do here as the device doesn't exist anymore after removing
#the scanner

#if [[ ${ACTION} == 'remove' ]]; then
# cd /proc/bus/usb/${bus}
# chown root:${group} ${device}
# chmod g+w ${device}
#fi
---------------------------

Danch chmod 0755 /etc/hotplug/usb/mylibusbscanner


Alternative: Sane.d über inetd oder xinetd als root starten lassen und den lokalen Benutzern den Zugriff auf den Scanner über das Loopbackinterface erlauben. Das ganze hat den Vorteil, dass man
den Zugriff auf den Scanner sogar anderen Rechner im Netzwerk (sogar Windowsclients) erlauben kann.
 
nbkr schrieb:
Jetzt beruhig Dich mal wieder! Mag ja sein das Du dich ärgerst, das ist aber kein Grund das ins Forum abzulassen.

Desweiteren: Das hat nichts mit SuSE zu tun. Ab dem Kernel 2.6 gibt es kein USB Scanner Modul mehr, so dass man nicht mehr über /dev/scanner angesprochen werden.

Danke für Deine Antwort. Warum darf man in einem Forum nicht mal deutlich werden, wenns doch der Sache dient? Oder soll das totgeschwiegen werden? :wink:

Mag es bei Suse mit dem Kernel 2.6 so sein, wie Du schreibst, ist es das aber bei Mandriva2005 und 2006 nicht der Fall. Die haben auch den 2.6-er Kernel, da kann ich den Epson-Treiber installieren und hernach ohne irgendwelche Änderungen als User per Xsane oder Iscan auf den Scanner zugreifen.

Es liegt also doch an Suse10 und es ist ein Fehler!

nbkr schrieb:
Stattdessen muss man über libusb gehen. D.h. die Dateien welche die passenden Zugriffsrechte haben müssen sind unter /proc/bus/usb zu finden. Welche das genau find liefert scan-find-scanner -q. Um das ganze dann auch Plug&Playfahig zu machen habe ich mir das folgende überlegt/zusammengesucht. Ich habs aber noch nicht getestet.

Danke für Deine Bemühungen. aber die Nummer mit libusb und Suse10 hab ich durch, das steht in mehreren Foren und funktioniert nicht. Man kann zwar während einer Sitzung als root die /proc/bus/usb/001/002 (betrifft den Scanner hier) entsperren und dann als User ohne weiteres auf Xsane oder Iscan zugreifen. Bootet man aber neu, ist das wieder aufgehoben.

Sowas kann man Usern nicht zumuten.

Denn genau darum geht es: Usability.

Das ich damit richtig liege, beweisst Mandriva2006, das ich jetzt installiert habe. Dort ist der Zugriff auf den Scanner kein unlösbares Rechteproblem, sondern er funktioniert einfach.

Dafür hat Mandriva einen extrem üblen Bug in seinem Menüeditor, der sich weigert, etwas anderes als die ihm systemgegebenen Einstellungen zu akzeptieren. Man kann zwar die Menüs umändern und nach eigenen Wünschen anpassen, aber sobald man die Änderungen gespeichert und ggf. neu gebootet hat, sind die Änderungen in den Menüs enthalten oder auch mal nicht, aber in jedem Fall stets wieder die Original-Mandriva-Einstellungen. Das geht so seit es Mandriva gibt und die Leute bei Mandriva in Frankreich raffen es nicht...

Mit diesem Mandriva-Bug kann man zwar leben, aber das führt dazu, daß wenn ein User neue Software installieren soll, er einen Techniker braucht, vor allem, wenns um mit Linux betriebene Firmen-PCs gehen soll, an denen die User nix zu fummeln haben. Völlig unnötige Mehrarbeit, weil ein paar Programmierer ihren eigenen Kram nicht ausreichend testen oder meinen, was ihnen gefällt, muß allen gefallen...

Wie gesagt, ich bin überzeugter Linux-Nutzer und habe kein Windows mehr, aber solche bescheuerten Bugs gibts unter Windows nicht (dafür dann aber dicke Sicherheitslücken... man lese den Spiegel).

Es ist einfach zum Mäusemelken mit diesem ganzen Computerkram!!! Früher hat das mal Spaß gemacht, damit beruflich zu tun zu haben, heute hat man nur noch Angst vor dämlichen, nicht lösbaren und völlig unnötigen Fehlern...
 
caine schrieb:
Danke für Deine Antwort. Warum darf man in einem Forum nicht mal deutlich werden, wenns doch der Sache dient? Oder soll das totgeschwiegen werden? :wink:

Etwas bei Linux / SuSE totschweigen ist dank Open Source eher schwierig. Mir gings mehr um den Tonfall, statt um den Inhalt. Man kann auch mit leisen Tönen deutliche Musik spielen. *g*


Es ist einfach zum Mäusemelken mit diesem ganzen Computerkram!!! Früher hat das mal Spaß gemacht, damit beruflich zu tun zu haben, heute hat man nur noch Angst vor dämlichen, nicht lösbaren und völlig unnötigen Fehlern...

Also das mit "früher war alles besser" kann ich nicht unterschreiben. Sich mit Computer auseinander setzen zu müssen war schon immer nervend. Früher hatte u.U. nur mehr Geduld.

Persönlich bin ich übrigens auf Debian umgestiegen. Das hat auch seine Maken, aber bisher konnte ich jeden lösen, so dass man das Gefühl hat die Kiste im Griff zu haben.
 
Danke für Deine Bemühungen. aber die Nummer mit libusb und Suse10 hab ich durch, das steht in mehreren Foren und funktioniert nicht. Man kann zwar während einer Sitzung als root die /proc/bus/usb/001/002 (betrifft den Scanner hier) entsperren und dann als User ohne weiteres auf Xsane oder Iscan zugreifen. Bootet man aber neu, ist das wieder aufgehoben.
Ich habe mir da so beholfen, daß ich /proc/bus/usb/001/003 (da hängt der Scanner dran) per 'chown root:user' und 'chmod 660' in der /etc/init.d/boot.local freigebe. Die Einrichtung per YaST hat zwar die resmgr-Datei erstellt, brach dann aber mit einem unbekannten Fehler ab, ein Zugriff mit normalen user-Rechten ging nicht.
 
nbkr schrieb:
Also das mit "früher war alles besser" kann ich nicht unterschreiben. Sich mit Computer auseinander setzen zu müssen war schon immer nervend. Früher hatte u.U. nur mehr Geduld.

Geduld hab ich schon, und rein aus Prinzip würde ich, wenn ich die Zeit hätte, gründlich nachforschen und ggf. die Fa. Suse/Novell freundlich aber bestimmt solange nerven, bis das gefixt wird.

Mein derzeitiger direkter Vorgesetzter aber, neu, jung, von EDV keine Ahnung, aber BWL (...), hat keine Geduld, für ihn dauert PCs einzurichten pro Rechner maximal ne halbe Stunde (weil er als Student mal am Fließband eines PC-Herstellers gestanden hat, wo vorab mit Windows bespielte PCs am Fließband verbaut werden...)

Ist aber nun durch, das Thema. Bei uns wird fortan nur noch Mandriva genommen, weil es einfach läuft, ohne daß man noch 200 Stunden Fortbildungskurse besuchen oder das Internet nach Lösungen durchpflügen muß, die dann eh nicht funktionieren...

Ich sach das aber nochmal ganz deutlich: Suse10 ist IMHO das schönere Linux und gefällt mir wesentlich besser. Sone üblen Bugs aber wie das mit USB-Scanner (..."Whitelist"...) sind vollkommen indiskutabel.

Sorry, aber so isses.
 
caine schrieb:
wiebkes schrieb:
Wird ein USB-Gerät angeschlossen, so erhält im Normalfall nur root zugriff auf
das Gerät. Eine Änderung der Datei /etc/fstab bringt hier Abhilfe.
Ändere die Zeile

usbfs /proc/bus/usb usbfs noauto 0 0

zu

usbfs /proc/bus/usb usbfs noauto,devmode=0666 0 0

Hoffe das hilft weiter

Wiebke

Danke für den Tip. Ich hab ja weitergesucht, und auch diesen Hinweis gefunden, aber der funktioniert ebensowenig, denn man kann dann zwar als User Xsane aufrufen, aber muß dauernd das root-Passwort eingeben.
....

Sorry, das ist absolut nicht richtig.

Die oben genannte Aenderung in /etc/fstab bewirkt nicht, dass man ein root Passwort eingeben muss. Da hast Du wohl die Dateirechte von Xsane auf "suid root" gesetzt :wink:

/etc/fstab hat damit jedenfalls nichts zu tun. Es hat genau den gewuenschten Effekt, nun koennen auch andere - und nicht nur root - auf usb devices zugreifen.

rolle schrieb:
Danke für Deine Bemühungen. aber die Nummer mit libusb und Suse10 hab ich durch, das steht in mehreren Foren und funktioniert nicht. Man kann zwar während einer Sitzung als root die /proc/bus/usb/001/002 (betrifft den Scanner hier) entsperren und dann als User ohne weiteres auf Xsane oder Iscan zugreifen. Bootet man aber neu, ist das wieder aufgehoben.
Ich habe mir da so beholfen, daß ich /proc/bus/usb/001/003 (da hängt der Scanner dran) per 'chown root:user' und 'chmod 660' in der /etc/init.d/boot.local freigebe. Die Einrichtung per YaST hat zwar die resmgr-Datei erstellt, brach dann aber mit einem unbekannten Fehler ab, ein Zugriff mit normalen user-Rechten ging nicht.

Genau, so einfach ist es. Waer zwar schoen wenn's nicht noetig waere (10.1 kommt bald), aber Problem geloest, ohne Mandriva oder sonst was zu installieren:

1. Aenderung des devmode in /etc/fstab auf
usbfs /proc/bus/usb usbfs noauto,devmode=0666 0 0

2. /proc/bus/usb/.... in /etc/init.d/boot.local freigeben,
z.B. mit 'chown root:user' und 'chmod 660'

Und schon laeuft xsane / kooka etc auch als normaler user :D
 
Vielen Dank für die Arbeit an dieser Frage, die mich auch schon seit 9.2 regelmässig in den Wahnsinn treibt.

Für mich heisst das ebenfalls: Auf Wiedersehen, Suse/Novell. In praktisch allen anderen Systemen (Knoppix, MDK, Ubuntu) funktioniert mein Epson-Scanner fehlerlos einfach so und auch via Netz. Das Suse da versagt wundert mich - fest steht, das ich es nicht mehr benutzen und/oder empfehlen werde.
 
Oben