NAS HowTo
Verfasst: Donnerstag 19. Mai 2016, 14:08
Im nachfolgenden HowTo geht es darum, wie man auf einem (Manjaro-)Rechner ein NAS einbindet - Hier am Beispiel einer Synology Diskstation.
Voraussetzung auf dem NAS:
Es müssen die gleichen Benutzer eingerichtet sein wie auf dem PC.
Im Beispiel sind es die Benutzer User_A, User_B und User_C.
Das /Home - Verzeichnis des Benutzers auf dem NAS muss freigegeben sein.
IP_vom_NAS/Userverzeichnis
Im Beispiel die Freigabeverzeichnisse auf dem NAS:
Voraussetzung auf dem PC im /home - Verzeichnis der einzelnen Benutzer:
Erstellen eines Ordners "NAS". Mit Dateimanager oder in der Konsole.
Das Ergebnis sollte dann jeweils so aussehen:
Erste Möglichkeit: Mounten der Freigaben mit "cifs" - das auch unter Windows Verwendung findet:
Damit die Benutzer nicht jedesmal Namen und Passwort eintippen müssen, wir im /home - Verzeichnes des Benutzers eine versteckte Datei mit dem Namen ".smbcredentials" erzeugt.
die Datei enthält folgenden Inhalt:
Analog für den User_B:
Ebenso für den User_C:
Anschließend werden in der /etc/fstab mit sudo nano fstab folgende Zeilen eingefügt:
Das wars gewesen :--). Ein
oder ein Neustart bindet die Laufwerke ein und es kann darauf zugegriffen werden.
[hr][/hr]
Zweite Möglichkeit: Mounten der Freigaben mit nfs:
Auf dem NAS und dem PC gelten für "nfs" die gleichen Voraussetzungen wie bei Verwendung von "cifs".
Lediglich die Datei ".smbcredentials" wird nicht benötigt.
Es werden in der /etc/fstab mit sudo nano fstab folgende Zeilen eingefügt:
Das wars gewesen :--).
Ein
oder ein Neustart bindet die Laufwerke ein und es kann darauf zugegriffen werden.
[hr][/hr]
Und als Finale Aktion für beide Varianten:
Es muss jeder User auf dem PC und dem NAS die gleiche UID und GID besitzen, weil
bei cifs: sonst Fehlermeldungen beim Schreiben auf das NAS kommen, weil Berechtigungen nicht geschreiben werden können
und
bei nfs: sich der Benutzer nicht authentisieren kann - es wird ja kein Name und Passwort verlangt.
Wie macht man das?
Auf dem NAS die IDs auslesen:
Mit Telnet, SSH oder Browser als Admin / Root einloggen und die UID und GID der Benutzer auslesen.
Beispielsweise per Telnet oder SSH einloggen und mit cat /etc/passwd die IDs auslesen.
Das sieht mit ssh evtl. so aus:
Ergebnis: User_A hat die UID 1028 und die GID 100
Jetzt muss man auf dem PC als root auf der Konsole die IDs der Benutzer ändern:
Achtung! Die Benutzer dürfen nicht angemeldet sein.
Dazu wechselt man in das Verzeichnis /etc und macht eine Sicherheitskopie der datei "passwd"
Anschließend wird die Datei "passwd" zum bearbeiten geöffnet mit
Hier ändert man in den Zeilen der User die Werte der UID und GID entsprechend der ausgelesenen Werte vom NAS, speichert die Änderungen und beendet den Editor.
Jetzt kontrolliert man, ob die Änderungen korrekt waren mit
Als allerletzte Handlung müssen nun die /home -Verzeichnisse der einzelnen User mit allen Dateien auf die neuen IDs umgestellt werden.
Dies geschieht für jeden User durch Eingabe des folgenden Befehls:
Beispiel: UID
User_A von 1000 nach 1027
User_B von 1001 nach 1028
User_C von 1002 nach 1029
Das Ergebnis sieht für den User_A beispielsweise so aus:
Die IDs der Dateien in den Userverzeichnisen ändert man wie folgt:
User_A:
User_B:
User_C
Nun steht der Verwendung des NAS nichts mehr im Wege
Viel Glück :-)
Voraussetzung auf dem NAS:
Es müssen die gleichen Benutzer eingerichtet sein wie auf dem PC.
Im Beispiel sind es die Benutzer User_A, User_B und User_C.
Das /Home - Verzeichnis des Benutzers auf dem NAS muss freigegeben sein.
IP_vom_NAS/Userverzeichnis
Im Beispiel die Freigabeverzeichnisse auf dem NAS:
Code: Alles auswählen
192.168.102.50/User_A
192.168.102.50/User_B
192.168.102.50/User_C
Voraussetzung auf dem PC im /home - Verzeichnis der einzelnen Benutzer:
Erstellen eines Ordners "NAS". Mit Dateimanager oder in der Konsole.
Das Ergebnis sollte dann jeweils so aussehen:
Code: Alles auswählen
/home/User_A/NAS
/home/User_B/NAS
/home/User_C/NAS
Erste Möglichkeit: Mounten der Freigaben mit "cifs" - das auch unter Windows Verwendung findet:
Damit die Benutzer nicht jedesmal Namen und Passwort eintippen müssen, wir im /home - Verzeichnes des Benutzers eine versteckte Datei mit dem Namen ".smbcredentials" erzeugt.
die Datei enthält folgenden Inhalt:
Code: Alles auswählen
username=User_A
password=12345
Code: Alles auswählen
username=User_B
password=54321
Code: Alles auswählen
username=User_C
password=67890
Code: Alles auswählen
//192.168.102.50/User_A /home/User_A/NAS cifs noauto,x-systemd.automount,credentials=/home/User_A/.smbcredentials,workgroup=workgroup,ip=192.168.102.50 0 0
//192.168.102.50/User_B /home/User_B/NAS cifs noauto,x-systemd.automount,credentials=/home/User_B/.smbcredentials,workgroup=workgroup,ip=192.168.102.50 0 0
//192.168.102.50/User_C /home/User_C/NAS cifs noauto,x-systemd.automount,credentials=/home/User_C/.smbcredentials,workgroup=workgroup,ip=192.168.102.50 0 0
Code: Alles auswählen
sudo mount -a
[hr][/hr]
Zweite Möglichkeit: Mounten der Freigaben mit nfs:
Auf dem NAS und dem PC gelten für "nfs" die gleichen Voraussetzungen wie bei Verwendung von "cifs".
Lediglich die Datei ".smbcredentials" wird nicht benötigt.
Es werden in der /etc/fstab mit sudo nano fstab folgende Zeilen eingefügt:
Code: Alles auswählen
192.168.102.50:/User_A /home/User_A/NAS nfs ,nouser,noauto,x-systemd.automount.x-systemd.device-timeout=10,timeo=14,hard,intr,noat
192.168.102.50:/User_B /home/User_B/NAS nfs ,nouser,noauto,x-systemd.automount.x-systemd.device-timeout=10,timeo=14,hard,intr,noat
192.168.102.50:/User_C /home/User_C/NAS nfs ,nouser,noauto,x-systemd.automount.x-systemd.device-timeout=10,timeo=14,hard,intr,noat
Ein
Code: Alles auswählen
sudo mount -a
[hr][/hr]
Und als Finale Aktion für beide Varianten:
Es muss jeder User auf dem PC und dem NAS die gleiche UID und GID besitzen, weil
bei cifs: sonst Fehlermeldungen beim Schreiben auf das NAS kommen, weil Berechtigungen nicht geschreiben werden können
und
bei nfs: sich der Benutzer nicht authentisieren kann - es wird ja kein Name und Passwort verlangt.
Wie macht man das?
Auf dem NAS die IDs auslesen:
Mit Telnet, SSH oder Browser als Admin / Root einloggen und die UID und GID der Benutzer auslesen.
Beispielsweise per Telnet oder SSH einloggen und mit cat /etc/passwd die IDs auslesen.
Das sieht mit ssh evtl. so aus:
Code: Alles auswählen
User_A:x:1028:100:uh:/var/services/homes/User_A:/sbin/nologin
Jetzt muss man auf dem PC als root auf der Konsole die IDs der Benutzer ändern:
Achtung! Die Benutzer dürfen nicht angemeldet sein.
Dazu wechselt man in das Verzeichnis /etc und macht eine Sicherheitskopie der datei "passwd"
Code: Alles auswählen
cd /etc
cp fstab fstab_original
Code: Alles auswählen
nano passwd
Jetzt kontrolliert man, ob die Änderungen korrekt waren mit
Code: Alles auswählen
id User_A
id User_B
id User_C
Dies geschieht für jeden User durch Eingabe des folgenden Befehls:
Beispiel: UID
User_A von 1000 nach 1027
User_B von 1001 nach 1028
User_C von 1002 nach 1029
Das Ergebnis sieht für den User_A beispielsweise so aus:
Code: Alles auswählen
uid=1027(User_A) gid=100 Gruppen=100,7(lp),10(wheel),90(network),91(video),92(audio),95(storage),108(vboxusers),997(users)
User_A:
Code: Alles auswählen
find / -uid 1000 -exec chown 1027:100 {} \;
Code: Alles auswählen
find / -uid 1001 -exec chown 1028:100 {} \;
Code: Alles auswählen
find / -uid 1002 -exec chown 1029:100 {} \;
Viel Glück :-)