Ziel ist es einen Dateiserver für Domänenbenutzer nutzbar zu machen.
Dazu muss zuerst der Rechner in die AD-Domäne mit Winbind aufgenommen und integriert werden.
Danach wird zusätzlich noch Samba nachinstalliert:
apt-get install samba
Dabei sollten keinerlei Einstellungen der Datei /etc/samba/smb.conf verloren gehen. Aber: Wer sichert ist feige!
Jetzt konfigurieren wir die Windows-gruppen die das Recht haben sollen, auf Resourcen von bestimmten Linux-gruppen zuzugreifen:
net groupmap add ntgroup="Domänen Administratoren" unixgroup=root net groupmap add ntgroup="Domänen Gäste" unixgroup=nogroup net groupmap add ntgroup="Domänen Benutzer" unixgroup=users net groupmap delete ntgroup="myntgroup" net groupmap list
Jetzt erstellen wir ein Verzeichnis und ändern die Zugriffsberechtigung darauf:
mkdir /daten chmod 777 /daten
Jetzt konfigurieren wir eine Freigabe auf dieses Verzeichniss. Dazu benutzen wir einen Editor und öffnen die Datei /etc/samba/smb.conf.
An das Ende der Datei fügen wir die folgenden Zeilen an:
[daten] comment = meine Daten path = /daten nt acl support = yes hide unreadable = yes writeable = yes
Jetzt prüfen wir ob der Eintrag ok ist :
testparm <enter>
Wenn ja, dann starten wir samba einmal durch:
/etc/init.d/samba restart
Jetzt können wir von windows aus Daten auf die Freigabe \\meinserver\daten ablegen.
Die selbst erstellten Ordner und Dateien sind vor anderen Benutzern schreibgeschützt.
Wenn man diese auch noch vor unerlaubten Blicken schützen will, kann man das durch diesen Wert tun:
... hide unwriteable files = yes ...
Verzeichnisse werden dadurch nicht ausgeblendet.Nur Dateien.
Wenn berechtigte, komplette Verzeichnisse ausgeblendet werden sollen dann mit:
[meineFreigabe] ... nt acl support = yes access based share enum = yes hide unreadable = yes hide writeable files = yes valid users = "@domain users" write list = "@domain users" ...
Wenn jeder Benutzer in sein eigenes Verzeichnis schreiben soll ohne andere zu sehen, so regelt man das am besten so:
... [%U] comment = Daten von %U path = /home/%D/U nt acl support = yes hide unreadable = yes writeable = yes ...
mache DOT-Dateien unsichtbar:
... veto files = /.*/ ...
smb einfach lokal ohne Domäne konfigurieren:
SAMBA in debian installieren:
apt-get install samba
SAMBA in suse installieren:
zypper in samba
auf dem Server einen User anlegen der genauso heißt wie der Windowsbenutzer
anschließend diesen in Smb freischalten:
smbpassword -a lumpi
Eintrag swat in /etc/inetd.conf aktivieren
sowie in services swat überprüfen (Port 901)
anschließend rcinetd restart oder den inetd unter yast2 neu starten
dann : http://localhost:901
als root:
kcmshell4 kcmsambaconf
Freigaben und Smbresourcen eines Rechners anzeigen :
smbclnt -L rechnername
smbclient -N -L pcnr0584
smbclient -L pcnr0584 -U douser
per smb angemeldete Benutzer anzeigen:
smbstatus -b
mit alter Verschlüsselung SMB1 angemeldete Benutzer anzeigen:
smbstatus -b | grep NT
Dateien schnell mal auf eine Freigabe kopieren:
smbclient //meinserver/freigabe -U dombenutzer
dann Domänenpassworteingabe und weiter wie mit Konsolenftp(z.B. mput *)
Änderungen der Samba-Konfiguration neu einlesen:
smbcontrol all reload-config
net send ueber Systemgrenzen hinweg :
smbclnt -M rechnername
danach texteingabe + <Strg>+D
oder:
cat Nachricht | smbclient -M rechnername
yast2 samba-server service enable
testparm -sv
Fehler:
testparm gibt folgende Fehlermeldung aus:
rlimit_max (1024) below minimum Windows limit (16384)
Lösung:
editiere die Datei /etc/security/limits.conf
... * - nofile 16384 ...
Fehler:
Samba verweigert nach debianupgrade den Zugriff auf symbolische Links:
Lösung:
folgende Einträge sollten in die /etc/samba/smb.conf (global)gemacht werden:
wide links = yes follow symlinks = yes unix extensions = no
und beim mounten den Optionsschalter mfsymlinks mitgeben.
Fehler:
Linuxmaschinen haben Probleme mit dem Löschen:
Lösung:
Versuche das Verzeichnis wie folgt zu mounten:
mount -t cifs -o user=richard,password=geheim,dom=myNTDOM,dirmode=0775,uid=richard,gid="domain users" //server/freigabe/ /mnt/server"
Fehler:
gemountete Sambashares von Linuxrechnern können keine Soft- und Hardlinks erstellen:
Lösung:
unix extensions = yes
Fehler:
beim mounten eines Shares mit z.B.:
mount --verbose -t cifs -o user=ich,dom=mydom //meineAS400/freigabe meinVerz/
kommt es zu einem Fehler:
mount error(5): Input/output error
Lösung:
Zugriff mit der IPadresse oder mit dem Schalter sec=ntlm klappt.
mount -t cifs -o user=ich,dom=mydom,sec=ntlm //IPAdresse/freigabe meinVerz/
Fehler:
beim mounten eines Shares mit z.B.:
mount --verbose -t cifs -o user=ich,dom=mydom //meineAS400/freigabe meinVerz/
kommt es zu einem Fehler:
mount error(5): Input/output error
Lösung:
mit
smbclient -L mysmbsrv -U ich
die Freigaben auflisten
und casesensitiv erneut versuchen die Freigabe zu mounten.