# $id: smb-HowTo.txt: samba 3.0 - /etc/samba/smb.conf (redhat 8.0) # Samba HowTo 22.11.04 # howto setting-up a Samba as on PDC # command on the Samba shell Console [root@pingu]# net join bowi.ch -r bowi-nt -U Administrator ###################################################################### NT Workstation Machinen Konto Erstellen (bei Windows im Server Manager) Hint: PC Name P-xxx-xxx$ <- das "$" ist Wichtig! ist ein Machinen Konto useradd -u 1001 -d /dev/null -s /bin/false P-401-P28\$ passwd -l P-401-P28\$ smbpasswd -am P-401-P28 <-!! hier ohne $ shell script beispiel: /usr/sbin/useradd -g machines -d /dev/null -c "machine id" -s /bin/false machine_name$ /usr/bin/passwd -l machine_name$ /usr/bin/smbpasswd -a -m machine_name eintragung in smb.conf für user passwort änderung von workstation aus zu ermöglichen unix password sync = yes passwd program = /usr/bin/passwd %u passwd chat = *New*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n \ *Enter* new*UNIX*password* %n\n *Retype*new*UNIX*password* %n\n \ *passwd: *all* authentication*tokens*updated*successfully* # Samba shares Freigabeverwaltung # kann unter [global] sein, dann für alle freigaben # sonst wieder in die freigabe eintragen, oder copy = freigabe_name writeable = yes create mask = 740 # datei rechte der user directory mask = 750 # verz. rechte der user force create mode = 020 # UND ODER = rwxrw---- force directory mode = 020 # UND ODER = rwxrwx--- wichtig: 'create mask' und 'force create mode' zusammen ergeben die effektiven datei rechte, also 740 + 020 = 760 'directory mask' und 'force directory mode' ergeben die effektiven verz. rechte 750 + 020 = 770 (ausführ rechte auf verz. für samba zwingend!) samba muss ausführ rechte haben um in ein ordner zu gelangen chmod -R 2760 Geschaeftsleitung drwxrwS--- 11 john prody 4096 Oct 29 19:18 prody ......^grosses S und chmod -R 2770 Geschaeftsleitung drwxrws--- 11 john prody 4096 Oct 29 19:18 prody ......^kleines s !! Hint group-set-bit s oder S, s=rwx, S=rw # Gruppen rechte auf alle Verzeichnisse setzten. for i in `ls` do chgrp $i $i oder chown -R $i $i done echo "ok # Wichtig! # nicht vergessen, chmod g+s /path/too oder chmod 2770 [sharexy] comment = Gruppenfreigabe (Office) writeable = yes read list = john,manx path = /home/daten/office create mask = 740 directory mask = 750 force create mode = 020 force directory mode = 020 force group = buchhaltung valid users = @buchhaltung,@personal,@verwaltung,@domaenen_admins # example smb.conf # Global parameters [global] log file = /var/log/samba/%m.log socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 wins server = 172.20.1.11 interfaces = 172.20.1.7/16 encrypt passwords = yes netbios name = BW-PDC password server = BOWI-NT enhanced browsing = no workgroup = BOWI.CH os level = 100 security = DOMAIN preferred master = yes max log size = 0 create mask = 740 directory mask = 750 force create mode = 020 force directory mode = 020 unix charset = ISO8859-1 dos charset = 850 # Samba as PDC, keine andere server domain master = yes domain logons = yes password server = * add user script = useradd -g machines -c "machine id" -d /dev/null -s /bin/false %u # if you enable domain logons then you may want a per-machine or # per user logon script # run a specific logon batch file per workstation (machine) ; logon script = %m.bat # run a specific logon batch file per username ; logon script = %U.bat # windows logon batch logon script = netlogon.bat [netlogon] browseable = yes writable = no path = /home/netlogon write list = administrator,@domaenen_admins guest ok = yes comment = Ressource für netlogon create mode = 740 directory mode = 750 # users home share [homes] comment = Eigene Dateien path = /home/users/%U browseable = no writable = yes valid users = %S create mode = 0660 directory mode = 0770 # einfacher share, all open [daten] path = /home/daten guest ok = Yes comment = Daten writable = yes create mask = 2777 directory mask = 2777 # available = no # stuff share [leadership] comment = Leadership browseable = yes writeable = yes read list = john,manx valid users = @office,@marketing path = /home/daten/Leadership force group = office # eof smb.conf shell script commands addsmbm - to create windows machine trust addsmbu - to create windows user account #!/bin/bash # $Id: addsmbu,v 1.0 2004/08/09 bw Exp $ # addsmbu - Create UNIX and Samba User together # # $1 = UID user name # $2 = full name if [ "$1" = $1 ] ; then if [ `id -u $1 2> /dev/null` ] ; then echo ERROR! User: $1, Benutzer $2 existiert bereits else /usr/sbin/useradd $1 -d /dev/null -c "$2" -s /bin/false /usr/bin/smbpasswd -a $1 fi else echo ERROR: kein User angegeben.. echo Beispiel: addsmbu hm H.Muster fi #!/bin/bash # $Id: addsmbm,v 1.0 2004/08/09 bw Exp $ # addsmbm add samba machine account script /bin/echo -e "Samba NT Workstation Account Anlegen" /bin/echo -e "Parameter: [uid] [pc_name], Beispiel: addsmbm 6121 p-302-p24 \n" /bin/echo -e "UserUID: $1" /bin/echo -e "Machine: $2\$ \n" if [ "$1" = $1 ] ; then if [ `id -u $1 2> /dev/null` ] ; then echo ERROR! id: $1 existiert bereits else useradd -u $1 -g machines -d /dev/null -c "machine id" -s /bin/false $2\$ passwd -l $2\$ smbpasswd -am $2 /bin/echo -e "Angelegt" id $2\$ fi else echo ERROR: keine id angegeben echo Beispiel: addsmbm 6121 p-302-p24 fi # Umlaute öäüÖÄÜ troubles # wer unbedingt will, es geht! # in /etc/sysconfig/i18n müssen diese Zeilen eingetragen werden (NOT default) LANG="de_DE" SUPPORTED="de_DE:de_DE:de:de_CH:de" SYSFONT="latarcyrheb-sun16" # in /etc/smb.conf # bei Samba 2.x: character set = ISO8859-1 client code page = 850 # bei Samba 3.x: unix charset = ISO8859-1, Default: unix charset = UTF8, Example: unix charset = ASCII dos charset = 850 Dadurch ändert sich das Mapping, d.h. wenn man vorher falsche Settings drin hatte, so dass die Umlaute in Filenamen nur unter Windows korrekt aussahen, stimmen sie danach nicht mehr, weil Samba die Zeichen nun korrekt, aber eben anders interpretiert. Abhilfe kann hier u. U. auch convmv schaffen. Diese und andere Änderungen in der Konfiguration sollten nicht während einer aktiven Netzwerkverbindung getätigt werden. Hinsichtlich der Möglichkeit des Dateientauschens im Internet sollte man auf Umlaute (ä, ö, ü und ß) in Dateinamen jedoch generell verzichten.