Entwicklungsumgebung/Samba: Unterschied zwischen den Versionen
(smb-nat) |
(smbldap-tools) |
||
Zeile 36: | Zeile 36: | ||
include /etc/ldap/schema/samba.schema | include /etc/ldap/schema/samba.schema | ||
Zur Nutzung der "smbldap-tools" gehören 2 Dateien, die man erst manuell | |||
entpacken muss. | |||
zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf | |||
zcat /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf > /etc/smbldap-tools/smbldap_bind.conf | |||
Abschließend starten Sie noch "slapd" neu: | Abschließend starten Sie noch "slapd" neu: |
Version vom 23. Dezember 2008, 12:31 Uhr
Diese Seite sollte nochmals überarbeitet werden. Eine Begründung befindet sich in der Regel unter Diskussion (oben). |
SAMBA
Installation
Die Installation erfolgt mit
aptitude install samba samba-common smbclient swat aptitude install libpam-smbpass smbldap-tools smbfs smb-nat samba-doc
Während der Installation mussten folgende 2 Fragen beantwortet werden:
Es wurde wie bei Arktur 4 als Domänenname SCHULE gewählt.
Zu diesem Menü der Hinweis, dass die Voreinstellung <Nein> war. Der dhcp3-client ist zwar noch nicht installiert, aber das kommt noch.
SAMBA - LDAP Support
Für den SAMBA - LDAP-Zugriff benötigt "slapd" die Samba Schemata. Wir nehmen die Vorlage direkt aus dem SAMBA-Paket "samba-doc", weil es dort am aktuellsten in Bezug auf SAMBA ist.
Geben Sie folgende Befehle ein:
cd /usr/share/doc/samba-doc/examples/LDAP gunzip samba.schema.gz cp samba.schema /etc/ldap/schema/
Nun fügen Sie folgende Zeile in /etc/ldap/slapd.conf
hinter den anderen "includes"-Zeilen ein:
include /etc/ldap/schema/samba.schema
Zur Nutzung der "smbldap-tools" gehören 2 Dateien, die man erst manuell entpacken muss.
zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf zcat /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf > /etc/smbldap-tools/smbldap_bind.conf
Abschließend starten Sie noch "slapd" neu:
/etc/init.d/slapd restart
Konfiguration von SAMBA
Ziel
Es sollen nach dem Vorbild von Arktur4 für jeden Nutzer die Shares "tmp", "pub" und "Vorlagen" zur Verfügung stehen. Außerdem sollen die Webseiten des Intranets komfortabel gepflegt werden können, dazu das Share "intranet". Außerdem soll "ausgewählten" Lehrern der lesende Zugriff auf die Homeverzeichnisse der Schüler erfolgen können. Dazu das Share "fachl" (kenne ich zumindest so von Arktur 3.5). Die "ausgewählten" Lehrer müssen wie bei Arktur dazu in die Gruppe 'fachl' eingetragen werden. Die Gruppe der Admins soll wie bei Arktur4 zudem auch Schreibrecht in den Homeverzeichnissen der Schüler erhalten. Dazu wird das Share "admins" eingerichtet. Außerdem wird wie bei Arktur4 das Share "netlogon" angelegt. Um die Profile einfach händeln zu können, lege ich die wie bei Arktur 3.5 ins Homeverzeichnis. Deshalb ist dafür kein Share notwendig. Eine Umstellung auf ein eigenes Profilverzeichnis wie bei Arktur4 kann m.E. problemlos bei der Erstellung von Scripten zum Useranlegen bei Nutzung des LDAPs erfolgen.
Die Shares "tmp", "pub" und "Vorlagen" werden als Laufwerke t:, p: und V: zur Verfügung gestellt, das Homeverzeichnis als u:, zudem sollen beim Abarbeiten der autoexec.bat
die Uhr des Clients gestellt werden. Die Zugriff auf die anderen Shares erfolgt über die Netzwerkumgebung.
eigentliche Einrichtung
Da nach der mir vorliegenden Literatur die UIDs bis 999 reserviert sind, vergebe ich für die Rechneraccounts die UID von 1000 bis 1999, für die User die IDs von 2000 bis 30000. Da die GIDs bis 999 reserviert sind (sein sollen), vergebe ich ab 1000. Die Lehrer erhalten die GID 1002 und die Schüler die GID 1001. Die Gruppe fachl die GID 1010. Die Rechner bekommen die GID 1007.
Um die beiden Shares "admins" und "fachl" einrichten zu können (zumindest ohne Kopfstände machen zu müssen), kann die Struktur in den Homeverzeichnissen nicht flach sein (wie ich es erst probiert habe). Also nun genauso wie bei Arktur4 strukturiert.
da mmustermann
noch nicht nach der neuen Struktur für das /home-Verzeichnis angelegt wurde, wird er als erstes gelöscht.
userdel -r -f mmustermann
folgende Testuser habe ich angelegt:
<source lang="text"> User Login UID:GID Gruppe Nebengruppe
--------- -------- -------- -----------
Egon Olsen eolsen 2000:1002 Schueler Manfred Mustermann mmustermann 2001:1002 Schueler Friedrich Schiller fschiller 2002:1001 Lehrer Niklaus Wirth nwirth 2003:1001 Lehrer fachl </source>
dazu wurde in der /etc/adduser.conf
geändert:
<source lang="text"> GROUPHOMES=yes (erzeugt die gewünschte Verzeichnisstruktur) USERGROUPS=no (sonst hätte jeder User eine eigene Gruppe) USERS_GID=1002 (entspricht Schüler) QUOTAUSER="games" (für später) NAME_REGEX="^[a-z][-a-z0-9]*\$?$" Kommentarzeichen wurde entfernt und Regex geändert! </source>
dann das Verzeichnis /etc/skel
ergänzt:
<source lang="text"> html_public 755 root:root html_public/index.html 644 root:root Win95 Win2K WinXP WinNT </source>
dann die Gruppen angelegt mit:
<source lang="text">
addgroup --gid 1001 lehrer addgroup --gid 1002 schueler addgroup --gid 1010 fachl
addgroup --gid 1007 rechner
</source>
dann diese 4 User angelegt (am Beispiel von eolsen
):
<source lang="text">
adduser --uid 2000 --gid 1002 --gecos "Egon Olsen,5a" --disabled-password eolsen passwd eolsen smbpasswd -a eolsen # mit -a wird der (Samba-)Account angelegt
</source>
den Lehrer nwirth
habe ich so zusätzlich in die Gruppe 'fachl' aufgenommen:
usermod -G fachl nwirth
Account für einen Rechner anlegen
<source lang="text">
useradd -u 1000 -g 1007 -d /dev/null -s /bin/false privat\$ passwd -l privat\$ smbpasswd -a -m privat # -a für (Samba-)Account anlegen; - m für Maschinenaccount
</source>
es wurden die Verzeichnisse für die Shares angelegt: <source lang="text">
/etc/samba/scripts /home/adm /home/www ? das müßte doch eigentlich ein SymLink sein? /home/tmp
</source>
meine smb.conf sieht erstmal so aus:
<source lang="text">
- Global parameters
[global] server string = Schulserver %h workgroup = SCHULE interfaces = lo 192.168.0.1/255.255.255.0 bind interfaces only = Yes hosts allow = 127. 192.168. 10. unix extensions = yes time server = yes socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE case sensitive = no preserve case = yes short preserve case = yes
logon script = %a.bat logon path = \\%L\%U\%a logon home = \\%L\%U\%a domain logons = yes domain master = yes os level = 255 preferred master = yes
passdb backend = smbpasswd unix passwd sync = yes
passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully*
encrypt passwords = yes
dns proxy = no wins support = yes admin users = adm, root, administrator guest account = nobody mangled names = no log level = 1 veto files = /*.eml/*.nws/riched20.dll/*.{*}/
[netlogon] comment = Anmeldeverzeichnis browsable = yes path = /etc/samba/scripts public = yes write list = adm, root share modes = no guest ok = yes locking = no
[homes] comment = Stammverzeichnis browseable = no read only = no inherit permissions = yes create mask = 0755 map hidden = yes map system = yes hide dot files = yes wide links = no
[tmp] comment = Datenaustausch path = /home/tmp read only = no public = yes create mode = 0666 directory mode = 0777 wide links = no
[pub] comment = Unterrichtsmaterial path = /home/adm write list = adm, root public = yes wide links = yes
[intranet] comment = Intranet-Seiten path = /home/www valid users = @www guest ok = no writeable = yes create mode = 0664 directory mode = 0775 force group = www
[fachl] comment = Fachlehrer-Zugang path = /home/schueler valid users = @fachl guest ok = no writeable = yes create mode = 0777 force group = fachl
[admins] comment = Admin-Freigabe path = /home/schueler valid users = @admins guest ok = no writeable = yes create mode = 0666 directory mode = 0777 force group = admins </source>
meine Win95.bat
:
<source lang="text"> @echo off net use u: \\serv\homes /yes net use p: \\serv\pub /yes net use t: \\serv\tmp /yes net use v: \\serv\Vorlagen /yes net time \\serv /set /yes </source>
Da wir noch keinen Nameserver haben, wurde mit Hilfe der hosts- bzw. lmhosts-Datei dafür gesorgt, dass die Rechner sich verständigen können.
auf dem Win98-Client wurde eine hosts
-Datei erstellt mit folgendem Inhalt:
<source lang="text"> 127.0.0.1 localhost 192.168.0.1 serv.mydomain.local </source>
und eine lmhosts
-Datei:
<source lang="text"> 192.168.0.1 serv 192.168.0.20 privat </source>
auf dem Server in der /etc/hosts
:
192.168.0.20 privat.mydomain.local privat
Samba wurde neu gestartet mit
/etc/init.d/samba restart
Die Anmeldung an Samba lief problemlos
Administrative Rechte einrichten (Default-ACL)
Wir wollen, das die Gruppe der "Domänen Administratoren" volle Kontrolle erhält. Mitglieder dieser Gruppe sollen alle Dateien, in allen Freigaben bearbeiten und vor allem auch die Rechte setzen dürfen. Dazu setzen wir eine "Default-ACL" auf /home:
setfacl -R -m default:mask::rwx /home setfacl -R -m default:group:domainadmins:rwx /home
Hinweise zu Updates
- erst mal nur gesammelt:
Das Update auf Samba 3.2 erzeugt automatisch neue tdb Dateien, wegen der Versionsänderung der tdb-Datenbanksoftware.
Ein normales Samba-Update sieht so aus:
net getlocalsid >/etc/samba/SID
samba stoppen update installieren samba starten net setlocalsid $(cat /etc/samba/SID) smbpasswd -w $(cat /etc/ldap.secret)
Alternativ kannst Du probieren, die Installation zu reparieren:
samba stoppen rm /etc/samba/private/*tdb samba starten # Alte SID setzen: net setlocalsid S-1-5-21-1594489954-3312520503-1242147674 smbpasswd -w $(cat /etc/ldap.secret)
Hinweissammlung
Weblinks
- http://us1.samba.org/samba/docs/man/Samba-Guide/
- http://samba.org/samba/docs/
- Deutsche Übersetzung: http://gertranssmb3.berlios.de/