Zu /dev/tape:
[root@myhost ~]# ls -lR /dev/tape
drwxr-xr-x 2 root root 0 14. Aug 00:28 by-id
Das ist aber keine Gerätedatei und auch kein Symlink 😉 sondern lediglich ein
Verzeichniss. Für sound, input haben die udev-Entwickler ja auch solche Dirs
vorgegeben, scheinbar um Gerätedateien "besser zu organisieren".
Wobei das (je nach Sichtweise) noch Zukunftsmusik oder "Feature-Chaos" sein kann.
Wenn ich mir das Paradigma von udev bzgl. /dev-Gerätedateien anschaue sehne ich
mich eigentlich nach einem statischen /dev zurück.
Auf jedenfall erfordern die meisten Programme, die direkt auf Gerätedateien zugreifen
müssen, diese immer noch in /dev/gerät.
Um (wie du) jetzt z.B. die Zugriffsrechte o.ä. zu ändern:
Da hast du (IMHO und wie ich udev verstehe) schlicht an der falschen Stelle/Regel
gedreht 😉
Deine Änderungen hast du in udev.rules(oder einer eigenen Regel-Datei) mit Rules aus
dem Block "Persistant block device stuff" gemacht. Rechte-Änderung betreffen dort aber
nicht die Gerätedateien /dev/(n)stX, sondern die Symlinks im /dev/tape-Dir
(SYMLINK+="tape/by-id/$env{ID_BUS}-$env{ID_SERIAL}", MODE="0666")
Du müßtest dich bei deinen Regeln eher an die Syntax aus dem Block
"Permissions and Symlinks" orientieren.
Wobei ich da eher die Gruppe für die Geräte ändern würde (und User in diese Gruppe
aufnehmen würde) anstatt "der Welt" direkten Zugriff (rw) auf ein Gerät zu geben.
Das würde mir persönlich (auch für ein Single-User-System) Bauchschmerzen
bereiten 😉
Um die Rechte an den Devices zu ändern würde ich eine Datei anlegen:
/etc/udev/99-meine.rules
SUBSYSTEMS=="scsi", KERNEL=="nst[0-9]*", GROUP="backup"
SUBSYSTEMS=="scsi", KERNEL=="st[0-9]*", GROUP="backup"
Die Gruppe backup solltest du halt erstellen bzw. muß vorhanden sein.
Oder so wie du es vorhattest (Flags):
SUBSYSTEMS=="scsi", KERNEL=="nst[0-9]*", MODE="0666"
SUBSYSTEMS=="scsi", KERNEL=="st[0-9]*", MODE="0666"
Viele Programme, die auf Streamer-Devices zugreifen (tar, mt), erwarten eine Gerätedatei
/dev/tape. Diese kannst du z.B. in /etc/rc.local erzeugen und auf dein Tape verlinken
(/dev/nst0 oder /dev/st0, je nachdem welchen Modus du möchtest).
Oder zu exportierst eine Enviroment-Variable TAPE, die auf das reale Device
verweist
export TAPE=/dev/nst0