Michael Puls

Samba einstellen, ohne Passwort

Startseite Samba einstellen mit Passwort

Der Linux-Rechner mit dem Installierten Samba sollte am besten einmal neu gestartet worden sein. Samba muß als zu startender Daemon in die /etc/rc.conf eingetragen sein, xinetd muß in die /etc/rc.conf als zu startender Daemon eingetragen sein. Hier nochmal ein Ausschnitt aus meiner rc.conf:

# DAEMONS
# -----------------------------------------------------------------------
#
# Daemons to start at boot-up (in this order)
# - prefix a daemon with a ! to disable it
# - prefix a daemon with a @ to start it up in the background
#
DAEMONS=(syslog-ng !hotplug network netfs samba httpd sshd postfix xinetd ntpd crond)


# End of file

Nachfolgend ein Ausschnitt aus der Datei /etc/services:

remotefs 556/tcp rfs_server rfs # Brunhoff remote filesystem
klogin 543/tcp # Kerberized `rlogin' (v5)
kshell 544/tcp # Kerberized `rsh' (v5)
kerberos-adm 749/tcp # Kerberos `kadmin' (v5)
#
webster 765/tcp # Network dictionary
webster 765/udp
rsync 873/tcp # RSYNC Server
rsync 873/udp
swat 901/tcp # SWAT
imaps 993/tcp # SSL IMAP
imaps 993/udp
pop3s 995/tcp
pop3s 995/udp
#
# From ``Assigned Numbers'':
#

Der Eintrag swat 901/tcp muß unbedingt eingetragen sein, für den Webinterface-Zugang zu Samba.

Dann nur noch die Datei /etc/xinetd.d/swat:

service swat
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/swat
log_on_success += HOST DURATION
log_on_failure += HOST
disable = no
}

Der Parameter disable = yes muß auf disable = no geändert werden.

SWAT geht nicht mit xinetd Version 2.3.14-2, warum auch immer, nach einen Systemupdate auf drei verschiedenen Servern ging der Zugang zu Samba über das Webinterface SWAT nicht mehr. Ich habe dann irgendwann versucht ein xinetd Version 2.3.14-1 von der Arch Linux 0.7.2 CD zu installieren, dann ging es wieder.

Nach langer Zeit habe ich endlich die Ursache des Problems gefunden, es muß nur noch etwas in die Datei /etc/hosts.allow eingetragen werden:
#
# /etc/hosts.allow
#

sshd:ALL
swat:ALL

# End of file

Immer wieder habe ich die Lösung bei xinetd gesucht, ich hätte bei swat suchen müssen...

Der Zugang zu Samba erfolgt über Windows mit dem InternetExplorer oder sonsteinem Webbrowser. Jeder andere Computer mit Webbrowser geht aber auch, sei es Linux oder Macintosh. Der Linux-Rechner (der Fileserver) muß nur eingeschaltet und hochgefahren sein, niemand muß sich daran anmelden.

In das Adressfeld des Browsers ist einzugeben: http://bigserv:901/ oder http://192.168.0.60:901/ sofern der Fileserver als hostname bigserv hat oder die IP-Adresse 192.168.0.60 ist. Bei anderen Werten für hostname oder die IP-Adresse ist natürlich der jeweilige Wert einzutragen. Die Eingabe :901 öffnet den Port 901 welcher zu SWAT gehört.

Dann sollte ein Eingabefeld erscheinen, SWAT erscheint als Überschrift, Benutzername und Kennwort werden verlangt.

Eintragen "root" und das Passwort von root und bestätigen...

Die Oberfläche von Samba erscheint.

Rechts gibt es einen großen Knopf, da steht VIEW drauf, den anklicken. Bei mir würde dieser Text erscheinen:

Aktuelle Konfiguration

[Komplette Ansicht]

# Samba config file created using SWAT
# from 192.168.0.2 (192.168.0.2)
# Date: 2006/12/15 14:19:49

[global]
dos charset = 850
unix charset = ISO-8859-15
display charset = ISO-8859-15
workgroup = HAINHOLZWEG
server string =
security = SHARE
load printers = No
ldap ssl = no
hosts allow = 192.168.0., 127...

[bigserver]
comment = Freies Verzeichnis
path = /server
read only = No
guest ok = Yes

[webserver]
comment = Handbuchseiten
path = /home/webserver
username = @users
read only = No

[backup1]
comment = Birgit Backup
path = /home/birgit/backup1
username = @users
read only = No

[backup2]
comment = Michael Backup
path = /home/michael/backup2
username = @users
read only = No

Hier geht es weiter, wie man sieht, gibt es 4 Verzeichnisse die freigegeben sind, bigserver, webserver, backup1, backup2.

Um selbst einen schnellen Erfolg zu haben sollte die Konfiguration so aussehen:

[global]
dos charset = 850 # Standard DOS Zeichensatz
unix charset = ISO-8859-15 # dadurch werden Umlaute dargestellt
display charset = ISO-8859-15 # dadurch werden Umlaute dargestellt
workgroup = HAINHOLZWEG # der Name der Arbeitsgruppe
server string =
# der server string kann leer sein, schadet nicht
security = SHARE # die einfachste Möglichkeit mit Samba einen Fileserver einzurichten
load printers = No # ich habe keinen Drucker am Fileserver
ldap ssl = no
hosts allow = 192.168.0., 127... # nicht ganz unwichtig

[bigserver]
comment = Freies Verzeichnis # nur ein Kommentar
path = /server # das ist das freigegebene Verzeichnis
read only = No # schreiben und auch löschen geht
guest ok = Yes # jeder darf rein

Dann ist nur ein Verzeichnis freigegeben, das Verzeichnis /server

Dieses Verzeichnis kann als Eigentümer nobody haben und zur Gruppe users gehören.

Sollte das nicht so sein, so kann der root das ändern.

 

Hier ist ein Bruch in der Oberfläche, nachfolgende Bildschirmausgaben erfolgen durch den Linux-Rechner (den Fileserver) über die SSH-Verbindung auf der SSH-Secure Shell auf dem Windows-Rechner. Man kann aber auch direkt auf dem Linux-Rechner arbeiten, sofern daran noch Bildschirm und Tastatur angeschlossen sind.

Der Fileserver muß hochgefahren sein, der root muß angemeldet sein...

Anzeige aller wichtigen Informationen der Verzeichnisse durch ls -l

Ändern der Zugriffsrechte durch chmod z.B. chmod 0777 verzeichnisname bedeutet, daß jeder im Verzeichnis verzeichnisname alles machen darf.

Hier die Bildschirmausgabe meines Servers, erstmal cd / eigeben, dann ls -l:

[root@bigserv /]# ls -l
insgesamt 69
drwxr-xr-x 2 root root 4096 2006-08-19 04:44 bin
drwxr-xr-x 4 root root 1024 2006-08-19 04:43 boot
drwxr-xr-x 15 root root 0 2006-09-18 18:06 dev
drwxr-xr-x 31 root root 4096 2006-09-18 18:06 etc
drwxr-xr-x 7 root root 4096 2006-09-16 23:32 home
drwxr-xr-x 2 root root 4096 2006-05-09 21:19 initrd
drwxr-xr-x 6 root root 4096 2006-08-20 21:11 lib
drwx------ 2 root root 16384 2006-08-19 00:06 lost+found
drwxr-xr-x 5 root root 4096 2006-08-19 00:16 mnt
drwxr-xr-x 2 root root 4096 2006-05-12 05:13 opt
dr-xr-xr-x 77 root root 0 2006-09-18 20:06 proc
drwxr-x--- 3 root root 4096 2006-09-15 16:10 root
drwxr-xr-x 2 root root 4096 2006-08-20 21:10 sbin
drwxrwxrwx 4 nobody users 4096 2006-09-17 00:43 server
drwxr-xr-x 11 root root 0 2006-09-18 20:06 sys
drwxrwxrwt 4 root root 4096 2006-09-18 18:06 tmp
drwxr-xr-x 12 root root 4096 2006-07-29 04:36 usr
drwxr-xr-x 14 root root 4096 2006-08-02 22:43 var
[root@bigserv /]#

Das Verzeichnis /server gehört nobody und gehört zur Gruppe users, in der ersten Spalte steht drwxrwxrwx , das kleine "d" zeigt ein Directory, ein Verzeichnis, an. rwx ist soviel wie read write execute = lesen schreiben ausführen.

Diese drei Eigenschaften werden in drei Gruppen angegeben, für den Eigentümer des Verzeichnisses, für die Gruppe, für alle anderen. Das Verzeichnis lost+found gehört root und nur root darf darin etwas machen, die Gruppe ist gestrichelt, alle anderen sind gestrichelt.

Ein Verzeichnis erzeugen durch mkdir verzeichnisname, z.B. mkdir leer erzeugt ein Verzeichnis mit dem Namen "leer".

Wenn dieses Verzeichnis mit Namen "leer" zu sehen ist (wieder ls oder ls -l eingeben...) dann kann man damit ein wenig herumspielen. Kurz noch ein Beispiel:

[root@bigserv /]# mkdir leer
[root@bigserv /]# ls -l
insgesamt 73
drwxr-xr-x 2 root root 4096 2006-08-19 04:44 bin
drwxr-xr-x 4 root root 1024 2006-08-19 04:43 boot
drwxr-xr-x 15 root root 0 2006-09-18 18:06 dev
drwxr-xr-x 31 root root 4096 2006-09-18 20:06 etc
drwxr-xr-x 7 root root 4096 2006-09-16 23:32 home
drwxr-xr-x 2 root root 4096 2006-05-09 21:19 initrd
drwxr-xr-x 2 root root 4096 2006-09-18 20:10 leer
drwxr-xr-x 6 root root 4096 2006-08-20 21:11 lib
drwx------ 2 root root 16384 2006-08-19 00:06 lost+found
drwxr-xr-x 5 root root 4096 2006-08-19 00:16 mnt
drwxr-xr-x 2 root root 4096 2006-05-12 05:13 opt
dr-xr-xr-x 68 root root 0 2006-09-18 20:06 proc
drwxr-x--- 3 root root 4096 2006-09-15 16:10 root
drwxr-xr-x 2 root root 4096 2006-08-20 21:10 sbin
drwxrwxrwx 4 nobody users 4096 2006-09-18 19:08 server
drwxr-xr-x 11 root root 0 2006-09-18 20:06 sys
drwxrwxrwt 4 root root 4096 2006-09-18 20:01 tmp
drwxr-xr-x 12 root root 4096 2006-07-29 04:36 usr
drwxr-xr-x 14 root root 4096 2006-08-02 22:43 var
[root@bigserv /]#

Das Verzeichnis leer gehört root, ändern der Rechte auf jeder darf alles:

[root@bigserv /]# chmod 0777 leer
[root@bigserv /]# ls -l
insgesamt 73
drwxr-xr-x 2 root root 4096 2006-08-19 04:44 bin
drwxr-xr-x 4 root root 1024 2006-08-19 04:43 boot
drwxr-xr-x 15 root root 0 2006-09-18 18:06 dev
drwxr-xr-x 31 root root 4096 2006-09-18 20:06 etc
drwxr-xr-x 7 root root 4096 2006-09-16 23:32 home
drwxr-xr-x 2 root root 4096 2006-05-09 21:19 initrd
drwxrwxrwx 2 root root 4096 2006-09-18 20:10 leer
drwxr-xr-x 6 root root 4096 2006-08-20 21:11 lib
drwx------ 2 root root 16384 2006-08-19 00:06 lost+found
drwxr-xr-x 5 root root 4096 2006-08-19 00:16 mnt
drwxr-xr-x 2 root root 4096 2006-05-12 05:13 opt
dr-xr-xr-x 68 root root 0 2006-09-18 20:06 proc
drwxr-x--- 3 root root 4096 2006-09-15 16:10 root
drwxr-xr-x 2 root root 4096 2006-08-20 21:10 sbin
drwxrwxrwx 4 nobody users 4096 2006-09-18 19:08 server
drwxr-xr-x 11 root root 0 2006-09-18 20:06 sys
drwxrwxrwt 4 root root 4096 2006-09-18 20:01 tmp
drwxr-xr-x 12 root root 4096 2006-07-29 04:36 usr
drwxr-xr-x 14 root root 4096 2006-08-02 22:43 var
[root@bigserv /]#

Das Verzeichnis soll den Eigentümer wechseln von root auf nobody:

[root@bigserv /]# chown nobody leer
[root@bigserv /]# ls -l
insgesamt 73
drwxr-xr-x 2 root root 4096 2006-08-19 04:44 bin
drwxr-xr-x 4 root root 1024 2006-08-19 04:43 boot
drwxr-xr-x 15 root root 0 2006-09-18 18:06 dev
drwxr-xr-x 31 root root 4096 2006-09-18 20:06 etc
drwxr-xr-x 7 root root 4096 2006-09-16 23:32 home
drwxr-xr-x 2 root root 4096 2006-05-09 21:19 initrd
drwxrwxrwx 2 nobody root 4096 2006-09-18 20:10 leer
drwxr-xr-x 6 root root 4096 2006-08-20 21:11 lib
drwx------ 2 root root 16384 2006-08-19 00:06 lost+found
drwxr-xr-x 5 root root 4096 2006-08-19 00:16 mnt
drwxr-xr-x 2 root root 4096 2006-05-12 05:13 opt
dr-xr-xr-x 68 root root 0 2006-09-18 20:06 proc
drwxr-x--- 3 root root 4096 2006-09-15 16:10 root
drwxr-xr-x 2 root root 4096 2006-08-20 21:10 sbin
drwxrwxrwx 4 nobody users 4096 2006-09-18 19:08 server
drwxr-xr-x 11 root root 0 2006-09-18 20:06 sys
drwxrwxrwt 4 root root 4096 2006-09-18 20:01 tmp
drwxr-xr-x 12 root root 4096 2006-07-29 04:36 usr
drwxr-xr-x 14 root root 4096 2006-08-02 22:43 var
[root@bigserv /]#

Das Verzeichnis leer soll zur Gruppe users gehören:

[root@bigserv /]# chgrp users leer
[root@bigserv /]# ls -l
insgesamt 73
drwxr-xr-x 2 root root 4096 2006-08-19 04:44 bin
drwxr-xr-x 4 root root 1024 2006-08-19 04:43 boot
drwxr-xr-x 15 root root 0 2006-09-18 18:06 dev
drwxr-xr-x 31 root root 4096 2006-09-18 20:06 etc
drwxr-xr-x 7 root root 4096 2006-09-16 23:32 home
drwxr-xr-x 2 root root 4096 2006-05-09 21:19 initrd
drwxrwxrwx 2 nobody users 4096 2006-09-18 20:10 leer
drwxr-xr-x 6 root root 4096 2006-08-20 21:11 lib
drwx------ 2 root root 16384 2006-08-19 00:06 lost+found
drwxr-xr-x 5 root root 4096 2006-08-19 00:16 mnt
drwxr-xr-x 2 root root 4096 2006-05-12 05:13 opt
dr-xr-xr-x 68 root root 0 2006-09-18 20:06 proc
drwxr-x--- 3 root root 4096 2006-09-15 16:10 root
drwxr-xr-x 2 root root 4096 2006-08-20 21:10 sbin
drwxrwxrwx 4 nobody users 4096 2006-09-18 19:08 server
drwxr-xr-x 11 root root 0 2006-09-18 20:06 sys
drwxrwxrwt 4 root root 4096 2006-09-18 20:01 tmp
drwxr-xr-x 12 root root 4096 2006-07-29 04:36 usr
drwxr-xr-x 14 root root 4096 2006-08-02 22:43 var
[root@bigserv /]#

Jetzt entspricht auf meinem Server der Status des Verzeichnisses leer dem des Verzeichnisses server, beide Verzeichnisse gehören nobody und gehören zur Gruppe users und jeder darf darin alles machen. Das das jetzt eventuell ein etwas unsicherer Zustand ist, ist jetzt erstmal egal, es geht um schnelle Erfolge.

Wieder zurück zum Windows-Rechner mit SWAT:

Wenn kein InternetExplorer (oder besser :-) offen ist, dann muß dieser geöffnet werden (gestartet werden, mit Doppelklick...)

Ins Adressfeld eingeben: http://192.168.0.60:901/ sofern der Fileserver die IP-Adresse 192.168.0.60 hat, wie oben, wie beschrieben, der root hat alles in der Hand und kann alles bestimmen, auch die IP-Adresse. Die Eingabe :901 öffnet den Port 901, der gehört zu SWAT.

Das Eingabefeld von SWAT erscheint, root eingeben, dessen Passwort eingeben, Bestätigen.

Samba erscheint, den zweiten Knopf von Links anklicken, das ist der Knopf mit der Aufschrift GLOBALS

Es erscheint ein großes Formularfeld, ich habe die Ansicht ein wenig vereinfacht. Das Wort Standardwert bezeichnet nur den entsprechenden Knopf mit dieser Aufschrift und dient hier nur der Orientierung.

Wenn man bei seinem eigenen Fileserver entsprechende Einträge vornimmt und diese mit Änderungen speichern übernimmt, dann ist der nächste Schritt zum eigenen Linux-Fileserver getan.

Globale Parameter

aktuelle Konfiguration: (x) Einfache Ansicht () Erweiterte Ansicht

Ansicht anpassen: [Einfache Ansicht] [Erweiterte Ansicht]

[Änderungen speichern] [Werte zurücksetzen]

Basisoptionen
       dos charset [ 850 ] Standardwert Diese drei Werte sind nur in der
       unix charset [ ISO-8859-15 ] Standardwert erweiterten Ansicht zugänglich.
       display charset [ ISO-8859-15 ] Standardwert Dann klappt es mit den Umlauten besser.
       workgroup [HAINHOLZWEG] Standardwert  
       realm [ ] Standardwert  
       netbios name [BIGSERV] Standardwert  
       netbios aliases [ ] Standardwert  
       server string [ ] Standardwert  
       interfaces [ ] Standardwert  
 
Sicherheitsoptionen
       security [Share] Standardwert  
       auth methods [ ] Standardwert  
       encrypt passwords [Yes] Standardwert  
       client schannel [Auto] Standardwert  
       server schannel [Auto] Standardwert  
       guest account [nobody] Standardwert  
       invalid users [ ] Standardwert  
       valid users [ ] Standardwert  
       admin users [ ] Standardwert  
       read list [ ] Standardwert  
       write list [ ] Standardwert  
       printer admin [ ] Standardwert  
       hosts allow [192.168.0., 127...] Standardwert  
       hosts deny [ ] Standardwert  
       preload modules [ ] Standardwert  
 
Protokoll Optionen
       svcctl list [ ] Standardwert  
 
Druckoptionen
       load printers [No] Standardwert  
 
Browsing Optionen
       os level [20] Standardwert  
       preferred master [Auto] Standardwert  
       local master [Yes] Standardwert  
       domain master [Auto] Standardwert  
 
WINS Optionen
       wins server [ ] Standardwert  
       wins support [No] Standardwert  
 
LDAP Optionen
       ldap ssl [No] Standardwert  
 
EventLog Options
       eventlog list [ ] Standardwert  
       usershare prefix allow list [ ] Standardwert  
       usershare prefix deny list [ ] Standardwert  
 
Winbind Optionen
       idmap backend [ ] Standardwert  
       winbind nss info [template] Standardwert  

Alle Änderungen speichern, wenn erforderlich, danach den dritten Knopf von Links anklicken, er hat die Aufschrift SHARES

Parameter der Freigabe

Aktuelle Konfiguration:  (x) Einfache Ansicht () Erweiterte Ansicht
Ansicht anpassen:  [Einfache Ansicht] [Erweiterte Ansicht]

[Wähle Freigabe] [ ] [Lösche Freigabe]

[Erstelle Freigabe] [ ] Hier einen Namen eingeben z.B. Leer oder Test, dann den Knopf daneben anklicken, Erstelle Freigabe.

Kurz darauf vergrößert sich das Formularfeld, darin müssen diese Eingaben vorgenommen werden:

[Änderungen speichern] [Werte zurücksetzen]

Basisoptionen
       comment [Testverzeichnis] [Standardwert]
       path [/leer] [Standardwert]
 
Sicherheitsoptionen
       invalid users [ ] [Standardwert]
       valid users [ ] [Standardwert]
       admin users [ ] [Standardwert]
       read list [ ] [Standardwert]
       write list [ ] [Standardwert]
       read only [No] [Standardwert]
       guest ok [Yes] [Standardwert]
       hosts allow [192.168.0., 127...] [Standardwert]
       hosts deny [ ] [Standardwert]
 
Browsing Optionen
       browseable [Yes] [Standardwert]
 
EventLog Options
       available [Yes] [Standardwert]
 
VFS Optionen
       vfs objects [ ] [Standardwert]

Wenn alles eingetragen ist, dann Änderungen speichern anklicken.

Dann das zweite Feld von rechts anklicken, es heißt VIEW

Die Konfiguration erscheint, unten ist das Verzeichnis "Leer" dazugekommen.

Aktuelle Konfiguration

[Komplette Ansicht]

# Samba config file created using SWAT
# from 192.168.0.2 (192.168.0.2)
# Date: 2006/12/15 14:19:49

[global]
dos charset = 850
unix charset = ISO-8859-15
display charset = ISO-8859-15
workgroup = HAINHOLZWEG
server string =
security = SHARE
load printers = No
ldap ssl = no
hosts allow = 192.168.0., 127...

[bigserver]
comment = Freies Verzeichnis
path = /server
read only = No
guest ok = Yes

[webserver]
comment = Handbuchseiten
path = /home/webserver
username = @users
read only = No

[backup1]
comment = Birgit Backup
path = /home/birgit/backup1
username = @users
read only = No

[backup2]
comment = Michael Backup
path = /home/michael/backup2
username = @users
read only = No

[Leer]
comment = Testverzeichnis
path = /leer
read only = No
guest ok = Yes

Als letzte Tat muß nur noch Samba angehalten und wieder gestartet werden, dazu den dritten Knopf von rechts anklicken, er ist beschriftet mit STATUS:

Einige Knöpfe werden sichtbar, den mit der Aufschrift alle neu starten anklicken, das sollte es gewesen sein, ab da müßte in kurzer Zeit ein Verzeichnis "Leer" im Windows-Netzwerk zu sehen sein. Sollte das Schreiben in dieses Verzeichnis nicht gelingen (Schreiben bedeutet, etwas in dieses Verzeichnis speichern) dann sollte der Parameter read only auf No gesetzt werden, falls das versäumt wurde.

Ich finde die Einstellung security = Share für meine Zwecke sehr angemessen. Es ist aber nicht der Standardwert, vermutlich ist das auch nicht das sicherste Modell.

Wenn diese Anleitung zum Erfolg geführt hat und das Verzeichnis sich benimmt wie gewünscht, dann kann die nächste Stufe genommen werden, die mit dem Passwort.

Startseite Seitenanfang

01.08.2007