SAMBA in der Domäne

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 = /.*/
...


SAMBA lokal


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
Konfiguration mit SWAT:

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

Konfiguration von SAMBA in KDE:

als root:

kcmshell4 kcmsambaconf
verschiedene Manipulationen mit smb-client :

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


Suse spezifisches

yast2 samba-server service enable

mögliche Fehler

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.

zurück