Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
de:services:storage_services:file_service:smb_dienstprogramme:start [2020/06/05 13:19] – [Weitere Informationen / Hilfen] korrigiere command name für man 0mschnei8de:services:storage_services:file_service:smb_dienstprogramme:start [2020/10/23 15:59] (aktuell) – [Dauerhaften Einhängen mithilfe einer Zugangsdatendatei und Eintrag in die fstab] unolte
Zeile 1: Zeile 1:
 +====== SMB/CIFS Utilities =====
 +===== CIFS/SMB =====
 +
 +Das //Common Internet File System (CIFS)// bietet die Möglichkeit, Netzlaufwerke an Windows-Rechner anzubinden; das entsprechende Netzwerkprotokoll wurde früher Server Message Block (SMB) genannt. UNIX/Linux-Betriebssysteme besitzen in der Regel einige Hilfsprogrammen, die den Einsatz von CIFS auch auf diesen Plattformen ermöglichen:
 +
 +===== smbclient =====
 +
 +''smbclient'' ist ein Kommandozeilenwerkzeug z.B. für
 +
 +  * Auflistung der von Windows-Servern angebotenen Netzwerkfreigaben und Netzwerkdrucker,
 +  * Auflistung der Verzeichnisinhalte,
 +  * oder Dateiübertragung.
 +
 +Im Folgenden wird ''lmuelle8'' als Beispiel für einen gültigen GWDG-Benutzerkontonamen verwendet, und ''winfs-uni.top.gwdg.de'' dient als Beispiel für einen Windows-CIFS/SMB-Server. Da Windows-Server normalerweise Teil des Active Directory sind, muss auch eine Domäne angegeben werden. ''GWDG'' ist in der Regel korrekt; Mitarbeiter des Max-Planck-Instituts (MPI) für biophysikalische Chemie müssen ''MBPC'' verwenden, Mitarbeiter des MPI für Experimentelle Medizin ''MPEM''.
 +
 +==== Anzeigen von Netzwerkfreigaben eines Servers ====
 +
 +<file>
 +smbclient -L winfs-uni.top.gwdg.de -W GWDG -U lmuelle8
 +Password:
 +</file> 
 +\\
 +Obwohl das Passwort direkt auf der Kommandozeile angegeben werden könnte, sollte dies aus Sicherheitsgründen vermieden werden; es ist besser, zur Eingabe des Passworts aufgefordert zu werden. Auf die Ausgabe des Befehls wurde verzichtet, da er sehr lang ist.
 +
 +==== Anzeigen von Verzeichnisinhalten ====
 +
 +<file>
 +smbclient //winfs-uni.top.gwdg.de/lmuelle8$ -W GWDG -U lmuelle8
 +Password: 
 +Domain=[GWDG] OS=[Windows Server 2008 R2 Enterprise 7601 Service Pack 1] Server=[Windows Server 2008 R2 Enterprise 6.1]
 +smb: \> dir
 +  .                                  DR        0  Mon May 23 11:52:52 2011
 +  ..                                 DR        0  Mon May 23 11:52:52 2011
 +  $RECYCLE.BIN                      DHS        0  Tue May  3 08:51:59 2011
 +  Eigene Bilder                     DAR        0  Wed Jun 30 05:24:50 2010
 +  Eigene Musik                      DAR        0  Wed Jun 30 05:24:50 2010
 +  IO.SYS                           AHSR        0  Thu Feb  8 11:15:26 2001
 +  MSDOS.SYS                        AHSR        0  Thu Feb  8 11:15:26 2001
 +  My Music                           DR        0  Tue May  3 08:51:59 2011
 +  My Pictures                        DR        0  Tue May  3 08:51:59 2011
 +  My Videos                          DR        0  Tue May  3 08:51:59 2011
 +  WINDOWS                                    0  Tue May  3 08:51:49 2011
 +  _AdminsOnly                       DAH        0  Wed Jun 30 05:24:46 2010
 +  _GWDGsys                           DA        0  Wed Jun 30 05:24:48 2010
 +
 + 65535 blocks of size 33554432. 18580 blocks available
 +smb: \> quit
 +</file>
 +\\
 +Diese Verzeichniseinträge haben sich jahrelang nicht geändert, aber so ist das Leben ...
 +
 +Bitte beachten Sie das nachgestellte ''$''-Symbol innerhalb des Namens der Netzwerkfreigabe %%//winfs-uni.top.gwdg.de/lmuelle8$%%. Es muss angehängt werden, weil alle Freigaben auf Windows/CIFS-Servern, die Benutzerdaten exportieren, versteckt sind und daher beim Zugriff ein abschließendes ''$'' erfordern.
 +==== Datenübertragung / File transfer ====
 +
 +<file>
 +smbclient //winfs-uni.top.gwdg.de/lmuelle8$ -W GWDG -U lmuelle8
 +Password: 
 +Domain=[GWDG] OS=[Windows Server 2008 R2 Enterprise 7601 Service Pack 1] Server=[Windows Server 2008 R2 Enterprise 6.1]
 +smb: \> put example.doc
 +putting file example.doc as \example.doc (2142.8 kb/s) (average 2142.9 kb/s)
 +smb: \> cd "My Music"
 +smb: \My Music\> get laughter.mp3
 +getting file \My Music\laughter.mp3 of size 3953876 as laughter.mp3 (16223.6 kb/s) (average 16223.6 kb/s)
 +smb: \My Music\> quit
 +</file>
 +\\
 +Wie im Beispiel zu sehen, überträgt ''put'' Dateien zum Windows-Server, und ''get'' holt sie zum Linux-Client.
 +
 +==== Weitere Informationen / Hilfen ====
 +
 +Hilfe ist über die Manual-Seite (''man smbclient'') oder den Online-Befehl ''help'' verfügbar, der an der ''smb:''-Eingabeaufforderung eingegeben werden kann.
 +===== SMB/CIFS mount =====
 +
 +==== Anmerkungen ====
 +
 +Auf FreeBSD- oder Linux-Systemen ist es z.B. möglich, eine Windows-Netzwerkfreigabe in den lokalen Verzeichnisbaum einzubinden. Hier ist es wichtig zu wissen, dass es unumgänglich ist, beim Einhängen der Freigabe eine Benutzerzuordnung vorzunehmen. So müssen zum einen die Benutzerdaten auf dem entfernten Windows-Server sowie ein lokaler Benutzername angegeben werden. Auf dem FreeBSD/Linux-Client scheinen alle Dateien dem angegebenen lokalen Benutzer zu gehören, während sie in Wirklichkeit dem Benutzer gehören, dessen Zugangsdaten beim Zugriff auf die Freigabe verwendet wurden. Beide Benutzernamen können gleich sein, müssen es aber nicht.
 +
 +Die Beispielbenutzer-, Server- und Freigabenamen sind wie oben im Zusammenhang mit ''smbclient'' beschrieben.
 +
 +Bitte schauen Sie in den Handbuchseiten Ihres Systems nach, wenn die unten stehenden Beispiele nicht weiterhelfen.
 +
 +==== Beispiel FreeBSD ====
 +
 +<file>
 +mount_smbfs -U lmuelle8 -I winfs-uni.top.gwdg.de -W GWDG -u 1001 -g 20 //lmuelle8@winfs-uni/lmuelle8$ /import/lmuelle8
 +Password:
 +</file>
 +\\
 +
 +Das Passwort kann in der Kommandozeile angegeben werden, es sollte aber aus Sicherheitsgründen **nicht** angegeben werden. 
 +
 +Die Bedeutung der Argumente beim Aufruf ist:
 +
 +  * ''-U lmuelle8'' -- Nutzername, der zur Anmeldung am Windows-Server genutzt wird
 +  * ''-I winfs-uni.top.gwdg.de'' -- DNS-Name oder IP des Windows-Servers
 +  * ''-W GWDG'' -- Windows-AD-Domäne
 +  * ''-u 1001'' -- lokaler Nutzer auf dem Linux-System
 +  * ''-g 20'' -- lokale Gruppe auf dem Linux-System 
 +  * ''%%//lmuelle8@winfs-uni/lmuelle8$%%'' -- Name des entfernten user@netbios-Server-Namens/Netzwerkfreigabenamens
 +  * ''%%/import/lmuelle8%%'' -- pfad zum lokalen Verzeichnis, wo die Netzwerkfreigabe eingehängt werden soll
 +
 +==== Beispiel example ====
 +
 +<file>
 +mount.cifs -o domain=GWDG,user=lmuelle8,uid=1001,gid=100 //winfs-uni.top.gwdg.de/lmuelle8$ /import/lmuelle8
 +Password:
 +</file>
 +\\
 +Das Passwort kann in der Kommandozeile angegeben werden, es sollte aber aus Sicherheitsgründen nicht angegeben werden.
 +
 +Die Bedeutung der Argumente beim Aufruf ist: 
 +  * ''-o domain=GWDG,user=lmuelle8,uid=1001,gid=100'' -- Windows-AD-Domäne, Nutzerkenng zur Authentifizierung, lokler Nutzer (numerisch), lokale Grupper (numerisch)
 +  * ''%%//winfs-uni.top.gwdg.de/lmuelle8$%%'' -- DNS-Namer oder IP des Windows-Servers und Freigabenname
 +  * ''%%/import/lmuelle8%%'' -- lokales Verzeichnis, in das die Freigabe eingehängt werden soll
 +
 +==== Dauerhaften Einhängen mithilfe einer Zugangsdatendatei und Eintrag in die fstab====
 +Der zuvor erwähnte ''mount.cifs''-Befehl funktioniert einwandfrei, wenn Sie die Freigabe sofort einhängen möchten. Bei einem dauerhaften Einhängen wird die regelmäßige Angabe von Userid, Domäne, Freigabe-URI und Einhängepunkt und der ständigen Eingabe des Passworts sehr unkomfortabel. Sie können aber die CIFS-Freigaben wie bei NFS einhängen, indem Sie eine Zeile in die ''/etc/fstab'' einfügen:
 +
 +  # cat /etc/fstab  | grep cifs
 +  //winfs-uni.top.gwdg.de/lmuelle8$  /import/lmuelle8 cifs domain=GWDG,user=lmuelle8,uid=1001,gid=100,file_mode=0664 0 0
 +
 +Hierdurch erübrigt sich der mount-Befehl mit allen Optionen, aber es ist immer noch die Eingabe des Passworts erforderlich. Wenn es in Ordnung ist, das Passwort in Ihrem Linux-System zu speichern, können Sie eine Zugangsdatendatei verwenden, anstatt Benutzername, Domäne und Passwort anzugeben. Eine solche Datei sieht wie folgt aus (im Beispiel von oben):
 +  # cat /etc/smbpasswd
 +  domain=GWDG
 +  username=lmuelle8
 +  password=<User's Password in plain text>
 +  
 +In der ''/etc/fstab'' lautet die Zeile dann:
 +
 +  # cat /etc/fstab  | grep cifs
 +  //winfs-uni.top.gwdg.de/lmuelle8$  /import/lmuelle8 cifs credentials=/etc/smbpasswd,uid=1001,gid=100,file_mode=0640 0 0
 +  
 +Wenn Sie verschiedene Freigaben einhängen wollen, können Sie für alle die gleiche Zugangsdatendatei verwenden, wenn Sie unterschiedliche Anmeldedaten für verschiedene Freigaben benötigen, richten Sie einfach verschiedene Zugangsdatendateien ein, z.B.
 +
 +  # cat /etc/fstab  | grep cifs
 +  //winfs-uni.top.gwdg.de/lmuelle8$   /import/lmuelle8  cifs credentials=/home/lmuelle8/.smb-lmuelle8,uid=1001,gid=100,file_mode=0640 0 0
 +  //wfs-test.top.gwdg.de/workgroup$   /import/workgroup cifs credentials=/etc/smbworkgroup,uid=1001,gid=1000,file_mode=0664 0 0
 +  
 +<WRAP center round important 90%>
 +Da die Zugangsdatendatei ein Klartext-Passwort enthält, sollte sie strikt vor dem Zugriff anderer Benutzer geschützt werden. Setzen Sie daher bitte die Zugriffsrechte auf 600 durch
 +  chmod 600 <path to credentials file>
 +</WRAP>