Linux.samba: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
samba benutzen wir zur Freigabe von Festplatten-Kapazität für das ganze Netzwerk. Samba nimmt jedoch auch an der Windows-Speziefischen Namensauflösung teil.  
samba benutzen wir zur Freigabe von Festplatten-Kapazität für das ganze Netzwerk. Samba nimmt jedoch auch an der Windows-Speziefischen Namensauflösung teil.  


Installation und Aktivierung:
== Aktivierung ==


  /etc/samba/smb.conf: (ersetzen bzw. aktivieren, ex sind globale einstellungen!)
<code>
chkconfig --add smb
chkconfig --add nmb
rcnmb start
rcsmb start
</code>


== Konfiguration ==
<code>
  #
  # /etc/samba/smb.conf: (ersetzen bzw. aktivieren, ex sind globale einstellungen!)
 
         [global]
         [global]
         log level = 1
         log level = 1
Zeile 40: Zeile 51:
         create mask = 0640
         create mask = 0640
         directory mask = 0750
         directory mask = 0750
 
 
         [printers]
         [printers]
         comment = All Printers
         comment = All Printers
Zeile 47: Zeile 58:
         create mask = 0600
         create mask = 0600
         browseable = no
         browseable = no
 
 
         [print$]
         [print$]
         comment = Printer Drivers
         comment = Printer Drivers
Zeile 55: Zeile 66:
         create mask = 0664
         create mask = 0664
         directory mask = 0775
         directory mask = 0775
 
   
      neu eingeben (ganz unten)
 
         [user]
         [user]
         comment = Benutzer Freigabe
         comment = Benutzer Freigabe
Zeile 70: Zeile 79:
         create mode = 777
         create mode = 777
         directory mode = 777
         directory mode = 777
</code>
== Verzeichnisrechte ==
nun eine Terminal-Session starten (Symbol mit der Muschel in der Startleiste)


  c) nun eine Terminal-Session starten (Symbol mit der Muschel in der Startleiste)
<code>
       cd /                                * wechselt ins hauptverzeichnis
       cd /                                * wechselt ins hauptverzeichnis
       mkdir /freigabe                      * erstellt den Pfad, der freigegeben wird
       mkdir /freigabe                      * erstellt den Pfad, der freigegeben wird
       chmod 0777 -R /freigabe              * alle Rechte f?e
       chmod 0777 -R /freigabe              * alle Rechte f?e
       rcsmb start                          * samba nun starten
       rcsmb start                          * samba nun starten
  e) Wenn spä´¥r weitere Verzeichnisse freigegeben werden sollen:
</code>
    in einer Terminal Session , samba stoppen:
 
 
Wenn später weitere Verzeichnisse freigegeben werden sollen: in einer Terminal Session , samba stoppen:
 
<code>
       rcsmb stop
       rcsmb stop
       mkdir /<Ihr neues Verzeichnis>
       mkdir /<Ihr neues Verzeichnis>
Zeile 87: Zeile 105:
           path = /<Ihr neues Verzeichnis>
           path = /<Ihr neues Verzeichnis>
           ... Rest wie oben ...
           ... Rest wie oben ...
</code>
== Windows XP ==
Einbinden (Mappen / Netzlaufwerk verbinden) eines Samba- Shares: Windows Explorer start: Extras, Netzlaufwerk verbinden, Einen freien Laufwerksbuchstaben suchen. Eingeben
\\<smb-Hostname oder smb-IP-Adresse>\<Share oder Freigabename, das ist das Wort in den eckigen Klammern der smb.conf>
Beispiel:
\\raib726\user


  f) Wenn man auf Linux eine Windows-Freigabe nutzen will


== Linux benutzt ein Samba Share ==
== Linux benutzt ein Samba Share ==

Version vom 11. Dezember 2006, 11:51 Uhr

samba benutzen wir zur Freigabe von Festplatten-Kapazität für das ganze Netzwerk. Samba nimmt jedoch auch an der Windows-Speziefischen Namensauflösung teil.

Aktivierung

chkconfig --add smb
chkconfig --add nmb
rcnmb start
rcsmb start

Konfiguration

 #
 # /etc/samba/smb.conf: (ersetzen bzw. aktivieren, ex sind globale einstellungen!)
 
       [global]
       log level = 1
       workgroup = Lummerland
       server string = Samba
       netbios name = LINUX
       security = share
       # ACHTUNG: Bei >1 Netzwerkkarte ist interfaces zwingend!
       interfaces = 192.168.115.92
       hosts allow = 192.168.115.0/255.255.255.0
       os level = 99
       time server = yes
       unix extensions = yes
       encrypt passwords = yes
       null passwords = yes
       printing = CUPS
       printcap name = CUPS
       socket options = SO_KEEPALIVE IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192
       keepalive = 0
       wins support = yes
       local master = yes
       domain master = yes
       preferred master = yes
       guest account = nobody
       character set = ISO8859-15
       client code page = 850
       veto files = /*.eml/*.nws/riched20.dll/*.{*}/
       bind interfaces only = yes
       guest ok = yes
       [homes]
       comment = Home Directories
       valid users = %S
       browseable = no
       writeable = yes
       create mask = 0640
       directory mask = 0750
 
       [printers]
       comment = All Printers
       path = /var/tmp
       printable = yes
       create mask = 0600
       browseable = no
  
       [print$]
       comment = Printer Drivers
       path = /var/lib/samba/drivers
       write list = @ntadmin root
       force group = ntadmin
       create mask = 0664
       directory mask = 0775
   
       [user]
       comment = Benutzer Freigabe
       path = /freigabe
       browseable = yes
       read only = no
       writeable = yes
       writable = yes
       guest ok = yes
       locking = no
       public = yes
       create mode = 777
       directory mode = 777

Verzeichnisrechte

nun eine Terminal-Session starten (Symbol mit der Muschel in der Startleiste)

     cd /                                 * wechselt ins hauptverzeichnis
     mkdir /freigabe                      * erstellt den Pfad, der freigegeben wird
     chmod 0777 -R /freigabe              * alle Rechte f?e
     rcsmb start                          * samba nun starten


Wenn später weitere Verzeichnisse freigegeben werden sollen: in einer Terminal Session , samba stoppen:

     rcsmb stop
     mkdir /<Ihr neues Verzeichnis>
     chmod 0777 -R /<Ihr neues Verzeichnis>
    nun wieder /etc/smb.conf editieren
    neu eingeben (ganz unten)
     [NeuerFreigabeName]
         comment = "ihr kommentar"
         path = /<Ihr neues Verzeichnis>
         ... Rest wie oben ...

Windows XP

Einbinden (Mappen / Netzlaufwerk verbinden) eines Samba- Shares: Windows Explorer start: Extras, Netzlaufwerk verbinden, Einen freien Laufwerksbuchstaben suchen. Eingeben

\\<smb-Hostname oder smb-IP-Adresse>\<Share oder Freigabename, das ist das Wort in den eckigen Klammern der smb.conf>

Beispiel:

\\raib726\user


Linux benutzt ein Samba Share

Wenn man auf Linux eine samba-Freigabe (einer Linux Maschine) nutzen will

  mount -t smbfs -o username=fred,password=fred //brutus/User /g

alternativ, wenn Gastzugriffe möglich sind

  mount -t smbfs //brutus/User /g

wobei "/g" ist das Unterverzeichnis in welches die Freigabe eingehängt wird (muss existieren) fred,fred ist username/pwd die Zugriff zu dieser Freigabe ermöglich, ist die Freigabe public werden die Angaben ignoriert. //brutus der w2k-Server (oder auch ein Linux-Server) /User der Freigabename des Share.

SMB Diagnose

Hochsetzen des Log Levels im /etc/samba/smb.conf:

    log level =

Probleme bei der Namensauflösung einkreisen:

    nmblookup <ArbeitsgruppenName>
 
    smbclient -L localhost -U%

Sicherheit

  1. durch Interfaces= nur die absolut notwendigen Netze zulassen und sich selbst.
  2. browseable auf false setzen, damit nicht grad jeder das Share sehen kann.
  3. Verzeichnisse nur für bestimmte User sichtbar machen. Das Verzeichnis einer Benutzergruppe zuordnen (z.B. mp3users), die Du vorher anlegst und der Du Deine Berechtigten hinzufügen aber nicht den Chef. Die Berechtigungen entsprechend setzen (kein r-x f?ot;nobody") und dazu "hide unreadable = yes" in die Share-Definition.

Details Windows XP

Port 80/445 Problem

Windows XP Professional zeigt nach eigenem Neustart den samba-share als "gestört an (rotes kleines "X" im Symbol). Der erste Zugriff erfolgt im Windows Explorer dann auch nach eine langen Denkpause. Pflichtbewust wurden jedoch die smb Ports 136,137,138,445 geöffnetet, damit gings aber auch nicht.
2. Formulierung des Problems: Alles ging -- ausser bei Windows XP Prof Clients, diese hatten beim ersten Zugriff auf ein smb-Share z.B. im Explorer doppelklick auf den Laufwerksbuchstaben eine "Wartezeit" von ca. 8 Sekunden (hey, das ist verdammt lange). Danach war alles in Butter. Bis zu dem Moment, wo etwa 15 Minuten kein Zugriff auf diesen Share auf diesem Client erfolgte (oder sofort nach einem Neustart des Clients). Danach wieder diese Denkpause.

Die Lösung war: XP Prof SP1 versucht eine Kontaktaufnahme mit dem Samba-Server auf Port 80 (in Worten !achtzig!). Wir hatten das als "Angriff" aus dem internen Netz gewertet und geDROPed. (Auf port 80 haben wir keinen dienst auf unserem Server!). Bis XP gemerkt hatte, dass auf port 80 nix geht, machte es einen Kurzschlaf (eben diese 8 Sekunden).

  • Lösung 1: Einen REJECT in der Firewall machen, keinen DROP. Hintergrund: DROP: Paket vernichten, keine Benachrichtigung des Absenders. REJECT: Das Paket wird aktiv abgewiesen, der Absender erhält eine negative Kurzantwort auf das Paket.
  • Lösung 2: Den Port 80 öffnen z.B. durch einen Webserver.

Die passenden Ports in der Zusammenfassung

 netbios-ns      137/udp     # NETBIOS Name Service
 netbios-dgm     138/udp     # NETBIOS Datagram Service
 netbios-ssn     139/tcp     # NETBIOS Session Service
 microsoft-ds    445/udp     # Direct-Hosted Service
 microsoft-ds    445/tcp     # Direct-Hosted Service
 http            80/tcp    www www-http           # World Wide Web
                                                  # nur bei XP Clients notwendig