Mount ist für den normalen User oft ein Problem. Ich stelle hier eine Möglichkeit vor, wie man es Usern ermöglicht, Netzlaufwerke selbst zu mounten, ohne dafür das root-Passwort eingeben zu müssen. In meinem konkreten Fall hatten die User das Laufwerk bisher mit Bookmark in Nautilus eingebunden und damit das Problem, dass in vielen Programmen das Netzlaufwerk nicht angezeigt wurde.
Die Umgebung ist ein Netzwerk ohne Domäne und eine NAS, auf die mit cifs zugegriffen wird.
Schreiten wir zur Tat:
Mounten über fstab (nicht automatisch)
Zunächst muss der Mountpunkt für das Netzlaufwerk erstellt werden, der z.B. im Verzeichnis /media liegen kann. Dazu mit STRG+ALT+T ein Terminal öffnen und
1 | ~$: sudo mkdir /media/nas1 |
eingeben, um den Mountpunkt zu erstellen.
Um nachfolgend das cifs verwenden zu können, wird der Samba-Server benötigt.
1 2 | ~$: sudo apt update ~$: sudo apt install cifs-utils |
Ebenfalls als root wird die Datei /etc/fstab editiert und um den Eintrag
1 | //192.168.xxx.xxx/<Verzeichnis der NAS> /media/nas1 cifs defaults,noauto,nofail,username="<NASuser>",password="<NASpassword>",domain="WORKGROUP",file_mode=0777,dir_mode=0777 0 2 |
ergänzt. Der Parameter noauto sorgt hier dafür, dass das Laufwerk beim Booten noch nicht gemountet wird, aber die Parameter bereits festgelegt werden. Die Angabe der Domäne ist nicht zwingend notwendig, wenn es keinen Domänencontroller im Netz gibt.
Die Zugangsdaten zur NAS stehen jetzt allerdings lesbar in der fstab. Sicherer ist es, eine Datei .smbcredentials im home-Verzeichnis anzulegen. Ihr Inhalt kann so aussehen:
username=<Username auf NAS> password=<Passwort auf NAS> domain=<Domäne>
In der fstab werden username, password und domain ersetzt.
1 | //192.168.xxx.xxx/<Verzeichnis der NAS> /media/nas1 cifs defaults,noauto,nofail,credentials=/home/<user>/.smbcredentials,file_mode=0777,dir_mode=0777 0 0 |
Die Angabe der Domain ist in einem Netz ohne Windows-Domaincontroller nicht notwendig.
Entweder bootet man jetzt neu oder man liest mit
1 | ~$: sudo mount -a -v |
die veränderte fstab-Datei neu ein.
Jetzt kann das Laufwerk eingehängt werden mit:
1 | ~$: sudo mount /media/nas1 |
Damit ein User das Laufwerk ohne den Befehl sudo mounten kann, muss mit
1 | ~$: sudo visudo -f /etc/sudoers.d/custom-users |
eine neue Datei erstellt werden. In den leeren Editor trägt man nun
1 | <username> ALL=(ALL) NOPASSWD:ALL |
ein und speichert den Inhalt mit CTRL-X ab. Mit Y den temporären Dateinamen bestätigen.
Mounten ohne fstab-Eintrag
Das Mounten kann auch durch den User erfolgen, indem er eine Scriptdatei mit folgendem Inhalt ausführt:
1 | sudo mount -t cifs -o rw,username="<Username auf der NAS>",password="<Password auf der NAS>",uid=<uid>,gid=<gid> //192.168.xxx.xxx/<Verzeichnis der NAS> /media/nas1 |
Die <uid> und <gid> lässt sich einfach mit dem Befehl id in der Konsole ermitteln.
Diese Scriptdatei liegt z.B. im home-Verzeichnis des Users und muss zuvor ausführbar gemacht worden sein (-> Script ausführbar machen). Da ich das home-Verzeichnis immer verschlüssele, ist es kein Sicherheitsproblem, Username und Passwort hier im Klartext anzugeben (-> home-Laufwerk unter Ubuntu nachträglich verschlüsseln).
Durch den Start der Scriptdatei wird das Laufwerk gemountet.
Zwar zeigen auch jetzt einige Programme im Dateiauswahldialog das gemountete Laufwerk nicht an, es kann aber unter /media/nas1 gefunden werden.
Der Mountpunkt kannn übrigens auch im home-Verzeichnis des Users erstellt werden.
Wer Spaß daran hat, kann das mit umount zum Aushängen genauso bereitstellen.
2 Comments