Ausgangspunkt:
Eine Leap 16.0 VM ohne pcsc und Ausweisapp, dies wurde natürlich zuerst aus dem OSS Repo installiert, bevor der Treiber installiert wurde.
Also wie ich es gedacht habe, selinux ist der Übeltäter.
Treiber installiert und Änderungen eingefügt, das komplette Verzeichnis incl. Unterverzeichnisse als root kopiert nach:
cp -r /usr/local/pcsc/drivers/SCLGENERIC.bundle/ /usr/lib64/readers/
pcscd als root neu starten:
systemctl restart pcscd.service
Als root ein Terminal mit
Dann als User ein 2. Terminal und
Karte auflegen und kurz warten, abbrechen und in der ersten Konsole nach den Fehlermeldungen schauen, ergab bei mir:
Aug 15 10:29:53 opensuse160 setroubleshoot[10265]: SELinux hindert pcscd daran, mit execute-Zugriff auf Datei /usr/lib64/readers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.2.09 zuzugreifen.
***** Plugin restorecon (94.8 Wahrscheinlichkeit) schlägt vor ************
Wenn Sie das Etikett reparieren möchten./usr/lib64/readers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.2.09 Default Label sollte sein lib_t.
Dann sie können restorecon ausführen. Der Zugriffsversuch wurde möglicherweise aufgrund unzureichender Berechtigungen für den Zugriff auf ein übergeordnetes Verzeichnis angehalten. Versuchen Sie in diesem Fall, den folgenden Befehl entsprechend zu ändern.
Ausführen
# /sbin/restorecon -v /usr/lib64/readers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.2.09
***** Plugin catchall_labels (5.21 Wahrscheinlichkeit) schlägt vor *******
Wenn Sie erlauben wollen, dass pcscd execute Zugriff auf libSCLGENERIC.so.2.09 file
Dann sie müssen das Label auf /usr/lib64/readers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.2.09 ändern
Ausführen
# semanage fcontext -a -t FILE_TYPE '/usr/lib64/readers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.2.09'
wobei FILE_TYPE einer der folgenen Werte ist: abrt_helper_exec_t, alts_exec_t, ld_so_t, lib_t, pcscd_exec_t, prelink_exec_t, systemd_notify_exec_t, textrel_shlib_t.
Führen Sie danach Folgendes aus:
restorecon -v '/usr/lib64/readers/SCLGENERIC.bundle/Contents/Linux/libSCLGENERIC.so.2.09'
***** Plugin catchall (1.44 Wahrscheinlichkeit) schlägt vor **************
Wenn Sie denken, dass es pcscd standardmäßig erlaubt sein sollte, execute Zugriff auf libSCLGENERIC.so.2.09 file zu erhalten.
Dann sie sollten dies als Fehler melden.
Um diesen Zugriff zu erlauben, können Sie ein lokales Richtlinien-Modul erstellen.
Ausführen
zugriff jetzt erlauben, indem Sie die nachfolgenden Befehle ausführen:
# ausearch -c 'pcscd' --raw | audit2allow -M my-pcscd
# semodule -X 300 -i my-pcscd.pp
Alles anzeigen
Also als root 2 Befehle wie dort angegeben:
ausearch -c 'pcscd' --raw | audit2allow -M my-pcscd
semodule -X 300 -i my-pcscd.pp
pcscd als root neu starten:
systemctl restart pcscd.service
Und dies erscheint:
pcsc_scan
PC/SC device scanner
V 1.7.3 (c) 2001-2024, Ludovic Rousseau <ludovic.rousseau@free.fr>
Using reader plug'n play mechanism
Scanning present readers...
0: SCL011 Contactless Reader [SCL01x Contactless Reader] (21161036210806) 00 00
Sat Aug 15 10:38:39 2026
Reader 0: SCL011 Contactless Reader [SCL01x Contactless Reader] (21161036210806) 00 00
Event number: 0
Card state: Card inserted,
ATR: 3B 84 80 01 80 82 90 00 97
ATR: 3B 84 80 01 80 82 90 00 97
+ TS = 3B --> Direct Convention
+ T0 = 84, Y(1): 1000, K: 4 (historical bytes)
TD(1) = 80 --> Y(i+1) = 1000, Protocol T = 0
-----
TD(2) = 01 --> Y(i+1) = 0000, Protocol T = 1
-----
+ Historical bytes: 80 82 90 00
Category indicator byte: 80 (compact TLV data object)
Tag: 8, len: 2 (status indicator)
SW: 9000
+ TCK = 97 (correct checksum)
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 84 80 01 80 82 90 00 97
German passport (passport)
Alles anzeigen