EnglishFrenchGermanItalianPortugueseRussianSpanish
Facebook

Archive
Suchen

Artikel-Schlagworte: „xubuntu“

VirtualBox: Spawning Session…

…und nichts passiert!
Ja dann habt Ihr wahrscheinlich ein Update des Kernel-Headers von Linux durchgeführt! :)

Keine Panik, alles halb so schlimm, einfach folgende Zeile im Terminal ausführen, und schon funzt auch Euer VirtualBox wieder:

sudo /etc/init.d/vboxdrv setup

Die Fehlermeldung “spawning session” sollte dann beim Starten von VirtualBox (bis zur nächsten Header-Aktualisierung) wieder verschwunden sein….! .)

Netzwerkdrucker

Oh Mann, war das ein Tag!
Nachdem hier eigentlich jedes Gerät in den letzten 3 Monaten neu aufgesetzt wurde (Webserver, Home-PC und auch Laptop), wurde es langsam mal Zeit, wieder einen Drucker ins Netzwerk einzufügen.

Gut dachte ich mir, mit der Fritz!Box ja nicht wirklich ein Problem, aber denkste!
Unter Windows klappte es nur solange einwandfrei, wie dieser duselige Dienst “AVM-Fernwartung” aktiviert und eingerichtet wurde, was aber auch bedeutete, dass der an der Fritz!Boy angeschlossene Drucker nicht mehr regulär über das Netzwerk angesprochen werden konnte.

Also AVM-Gedöns wieder deaktiviert und vom Windowsrechner deinstalliert.
Nun konnte ich ratzefatz den Drucker am Homeserver einrichten, jedoch klappte irgendwie etwas mit dem Treiber nicht. Auch Windows wollte sich auf Anhieb nicht wirklich zur Kooperation bewegen lassen, klappte letztenendes dann aber doch.
Jetzt zickte allerdings der Laptop gänzlich herum.

Also neue Variante: Der Drucker an den Windows-Rechner, wie auch schon zuvor.
Windows jubelte, der Homeserver funzte auch, aber der Laptop…….naja, lassen wir diese sinnlose Ausführung.
Es half alles nichts. Zwischendurch versaute ich mir noch das System mit zahlreichen CUPS-Erweiterungen und zahlreichen Treibern, was aber zum Glück mit etwas Trickserei alles wieder rückgängig gemacht werden konnte.

Jetzt blieb noch eine Variante, vor welcher ich mich eigentlich die ganze Zeit gedrückt habe: Den Drucker an den Webserver, der unter Xubuntu läuft und im Netzwerk eine NT-Domain emuliert (WINS-Server).
Der Server erkannte den Drucker auf Anhieb (Xubuntu finde ich mittlerweile tausendmal geiler als Ubuntu). Auch die Netzfreigabe klappte relativ unkompliziert.
Unter Windows mußte ich dann lediglich mit den unterschiedlichen Treibern und System kämpfen, was sich aber auch zu meinen Gunsten entschied, nur der Laptop…….der zickte mal wieder rum!

Nachdem ich dann irgendwann erkannte, dass solche Freigaben von Ubuntu lediglich mit einer festen IP funktionieren (und nicht mit einem zugewiesenen Netzwerknamen des Rechners), konnte ich dann auch den Laptop unter Ubuntu dazu bewegen, endlich diese beschissene Testseite zu drucken, auf welche ich seit mindestens 5 Stunden gehofft habe!

Merke: Kombinierte Systeme, mehrere Printserver, dazwischen eine Fritz!Box und zahlreiche nicht standardkonforme Einstellungen sind nicht gerade förderlich, um eine eigentlich einfache Angelegenheit, welche im Normalfall nicht mehr als 10 Minuten dauert, zum positiven Abschluß zu bringen.

So, und nun freue ich mich wie ein Schneekönig, dass der Drucker nun endlich druckt….. ;-)

hal-storage-mount-removable no

So wie in der Überschrift begrüßt mich mein Server (Xubuntu 8.04 LTS) seit dem ersten Tage, wenn ich eine USB-Festplatte mounten will.

Seit Wochen experimentiere ich mit so ziemlich jeder Einstellung herum – bislang ohne Erfolg.
Aber nun habe ich die Lösung gefunden, dieses Problem zu umgehen:

Im Terminal wird die Datei /etc/PolicyKit/PolicyKit.conf wie folgt geändert:

sudo gedit /etc/PolicyKit/PolicyKit.conf

In der Datei wird der rote Text hinzugefügt:

<?xml version=”1.0″ encoding=”UTF-8″?> <!– -*- XML -*- –>

<!DOCTYPE pkconfig PUBLIC “-//freedesktop//DTD PolicyKit Configuration 1.0//EN”
“http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd”>

<!– See the manual page PolicyKit.conf(5) for file format –>

<config version=”0.1″>
<match user=”root”>
<return result=”yes”/>
</match>
<define_admin_auth group=”admin”/>

<match action=”org.freedesktop.hal.storage.mount-removable”>
<return result=”yes”/>
</match>

</config>

Und schon funzt das Einbinden tadellos!

Augenkrebsheilung

Wie heilt man den fortgeschrittenen Augenkrebs, welcher einem zwangsweise bei längerer Betrachtung eines LCD-Monitors heimsucht, auf welchem ein Linux-System installiert ist?

Geht ganz fix und simpel:

  1. sudo apt-get install msttcorefonts
  2. sudo fc-cache -fv

Schon hat man die Windowsschriftarten installiert und zugleich die hässlichen, überscharfen Fonts von Linux verbannt – der Augenkrebs dürfte rasch genesen sein! ;-)

PS: Und tut auch garnicht weh….. :-)

Befehle im Terminal

Heute mal ein kleiner Linktipp zum Thema “EIngaben/Befehle im Terminal” unter Ubuntu.

In diesem wird auch erklärt, was es mit den Rechten auf sich hat, wie diese sich zusammensetzen, was die Zahlen bedeuten.

Sollte man sich gleich als Lesezeichen setzen!

Der eigene Homeserver Teil 7 : FTP

Kommen wir nun zu dem Beitrag FTP.
FTP wird genutzt, um auf dem Server Dateien abzulegen bzw. abzufragen, ohne an diesem zu sitzen.

Das erledigt man meist mit einem Clienten, welcher rein optisch an den guten alten Commander erinnert.

ich beschreibe hier heute die Einrichtung anhand des Programmes VSFTPD.
Bei diesem Programm sollte man bedenken, dass dieses lediglich auf den Home-Ordner des eingeloggten Users zugreift.
Da wir aber auch den Inhalt unseres Webordners verwalten wollen, müssen wir dieses Verzeichnis in unseren Home-Ordner mounten.

Dazu legen wir einen Ordner namens “www” in unserem Home-Ordner an:
mkdir /www

Da wir diese Eingabe ohne sudo-Rechte eingeben, befinden wir uns bereits im Home-Ordner, sodass die Eingabe ohne die ganzen Eltern-Ordner davor ausreicht.

Nun sorgen wir dafür, dass die “Verlinkung” auch bei jedem Start des Servers funktioniert:
sudo nano /etc/fstab

Dort tragen wir folgendes ein:
/var/www /home/Firstuser/www ext3 defaults,rw 0 0

Nun könnt Ihr über Euer Home-Verzeichnis auf den Inhalt des Webordners zugreifen!

Jetzt kommt das Programm:
sudo apt-get install vsftpd

Nun müssen wir unsere Konfigurationsdatei editieren:
sudo nano /etc/vsftpd.conf

In dieser sollten folgende Einträge wie folgt hinzugefügt/editiert werden:
listen=YES
#listen_ipv6=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
#local_unmask=022
anon_upload_enable=NO
anon_mkdir_write_enable=NO
xferlog_enable=YES
connect_from_port_20=YES
#nopriv_user=ftpsecure
deny_email_enable=YES
chroot_local_user=YES
#ls_recurse_enable=YES
chmod_enable=YES
force_dot_files=YES
write_enable=YES
pasv_enable=YES
port_enable=YES

Nun starten wir den FTP-Server neu:
sudo /etc/init.d/vsftpd restart

Und schon ist Euer FTP-Server eingerichtet.
Ihr habt nun Zugriff auf Euren Home-Ordner, in welchem sich auch das Webverzeichnis “www” befindet.
Anonyme Logins werden geblockt, zulässig sind nur im System hinterlegte User.

————————————————————-

Das HowTo zum Webserver unter Xubuntu 8.04.1 LTS:

  1. Teil 1 : Vorwort
  2. Teil 2 : Grundinstallation
  3. Teil 3 : Fernwartung mittels SSH
  4. Teil 4 : Samba (4.1) und NFS (4.2) (Netzwerkfreigaben)
  5. Teil 5 : Webserver Apache2 (mit PHP5, CGI, MySql, PhpMyAdmin)
  6. Teil 6 : Mailserver (SMTP-Relay mittels Postfix)
  7. Teil 7 : FTP-Server

Der eigene Homeserver Teil 6 : Mailserver

Sorgen wir mit dem heutigen Beitrag dafür, dass Euer zukünftiger Webserver auch E-Mails versenden kann.
Dieses ist u.U. notwendig, wenn Ihr Blogsoftware betreibt.
Aus diesem Grunde ist nötig, dass Ihr (trotz eigenem Webserver) eine funktionierende E-Mail-Adresse bei einem Anbieter wie z.B. GMX, Arcor oder einen festen Account eines Webhosters habt, denn:

ihr habt eine dynamische IP, und fast alle Mailserver dieser Welt lehnen Anfragen von dynamischen IP’s ab, sobald sie von einem Server stammen!

Das hat einen ganz einfachen Grund:
Die meisten privat eingerichteten Mailserver stehen offen wie Scheunentore, was Spammer unheimlich gerne ausnutzen, um ihren Müll zu verschicken.
Auch waren diese Mailserver sehr beliebt, um direkt massenhaft Spams zu verschicken.

D.h., dass wir zwar einen Mailserver einrichten, dieser aber nur als “Weiterleiter” zum Hoster dient, der dann die Mails verschickt.

Aber fangen wir nun an:
sudo apt-get install postfix libsasl2-modules

Damit installiert Ihr Postfix sowie die nötigen Zusatzmodule für die spätere Authentifizierung bei Eurem Hoster.

Die erste Abfrage ist mit “Internet mit Smarthost” zu beantworten.

Während der Installation werden Ihr nach dem Mailnamen gefragt – tragt hier den Hostnamen Eures Servers ein, z.B. homeserver.

Bei smtp-Relay-Host tragt Ihr den Host Eures Providers ein, z.B. smtp.gmx.net
Die Vorgabe bei Netze “127.0.0.0/8” bleibt unverändert.

Nach erfolgter Installation müssen wir die Datei /etc/postfix/main.cf im Editor bearbeiten, dazu also:
sudo nano /etc/postfix/main.cf

Hier lassen wir alles unverändert und scrollen bis zum Ende, wo wir dann folgendes hinzufügen:

smtp_sasl_auth_enable = yes
smtp_sasl_security_options = noanonymous
smtp_sasl_password_maps = hash:/etc/postfix/sasl_password
sender_canonical_maps = hash:/etc/postfix/sender_canonical

Anschließend speichern und Ende.

Wir haben also hinzugefügt, dass wir uns am Host mit einem Passwort anmelden müssen, wo das Passwort hinterlegt ist, und wie die spätere E-Mail-Absenderadresse aussehen soll, also legen wir nun die beiden Dateien an:
sudo nano /etc/postfix/sasl_password

In dieser tragen wir folgendes ein:
smtp.gmx.net nutzername:nutzerpasswort

Speichern und Ende.
Nun noch die Datei für die Absenderkennung:
sudo nano /etc/postfix/sender_canonical

homeserver nutzeradresse@gmx.de
www-data nutzeradresse@gmx.de

Speichern und Ende.

BEVOR Ihr jetzt den Mailserver neu startet, müssen die beiden Dateien in Datenbanken umgewandelt werden, dass bewerkstelligen wir mit den beiden Eingaben:
sudo postmap /etc/postfix/sasl_password
sudo postmap /etc/postfix/sender_canonical

JETZT können wir den Mailserver neu starten:
sudo /etc/init.d/postfix restart

Ab sofort ist Euer Mailserver in der Lage, Mails zu versenden.

Ich werde im Rahmen dieses HowTo’s später nochmal die Einrichtung/Konfiguration eines vollständigen Mailservers online setzen (also mit E-Mails vom Server abholen, diese auf dem Homeserver dann verschiedenen Usern zuteilen und gleichzeitig auf Spam hin überprüfen lassen), aber wie schon erwähnt: später!

————————————————————-

Das HowTo zum Webserver unter Xubuntu 8.04.1 LTS:

  1. Teil 1 : Vorwort
  2. Teil 2 : Grundinstallation
  3. Teil 3 : Fernwartung mittels SSH
  4. Teil 4 : Samba (4.1) und NFS (4.2) (Netzwerkfreigaben)
  5. Teil 5 : Webserver Apache2 (mit PHP5, CGI, MySql, PhpMyAdmin)
  6. Teil 6 : Mailserver (SMTP-Relay mittels Postfix)
  7. Teil 7 : FTP-Server

Der eigene Homeserver Teil 5 : Webserver Apache

Kommen wir mit dem fünften Teil meines HowTo’s zu dem wohl interessantesten Teil, nämlich der eigene Webserver.

Ich gehe davon aus, dass die anderen Änderungen am System (Netzwerk, IP, Hostname) etc aus den vorherigen Teilen getätigt wurden.
Nun sollte man sich überlegen, ob der Webserver (wie der Name schon sagt) aus dem Web ansprechbar sein soll, und wenn ja, wie!

Im Normalfall hat ein jeder von uns sogenannte dynamisch zugewiesene IP’s, d.h. bei jedem Einwählen ins Internet haben wir eine andere Adresse, sprich unser Server ist nie unter der gleichen Adresse ansprechbar.

Da ein Server im allgemeinen jedoch eine feste Adresse/IP benötigt, gibt es hierfür sogenannte DynDNS, also dynamische DomainNameServer, welche immer unter einer festen Adresse ansprechbar sind und zur dynamischen IP umleiten, aber später NACH Einrichtung des Servers mehr dazu!

Fangen wir mal mit dieser Konsoleneingabe an:
sudo apt-get install apache2

Nach der Installation ist der Server bereits aktiv und bietet unter http://localhost bzw. http://127.0.0.1 auf Port 80 seine Dienste an.
Das Standard-Webverzeichnis des Indianers liegt unter /var/www, welches man zugunsten von mehr Sicherheit auch dort belassen sollte.
Es existiert eine Anleitung im Netz, in welcher dieser Ordner expliziet in den Ordner für allgemeine Freigaben verschoben wird, aber davon rate ich dringendst ab (Ihr erinnert Euch, Rechteverwaltung!)!

Sollte man reine HTML-Seiten anbieten wollen, wäre an diesem Punkt bereits das Ende erreicht, will man jedoch das volle Programm wie PHP, Perl, CGI, MySQL etc pp. nutzen (wird für ein WordPress-Blog alles benötigt), geht es mit der Installation von PHP weiter:
sudo apt-get install php5 libapache2-mod-php5 php5-mysql php5-cgi php5-gd php5-mcrypt

Mit dieser Eingabe werden sämtliche nötigen Pakete und Abhängigkeiten geholt und installiert.

Da WordPress z.B. darauf ausgelegt ist, “schöne” Adressen (Permalinks) zu bilden, benötigen wir noch das Modul mod_rewrite, welches dafür sorgt, dass Adressen umgeschrieben werden können:
sudo a2enmod rewrite

Aber nochmals: nicht benötigte Pakete/Module sollten auch nicht installiert/aktiviert werden!

Wenn wir die Umschreibung benötigen, müssen wir dieses dem Apachen auch noch mitteilen, dafür öffnen wir die Datei /etc/apache2/sites-available/default

In dieser ändern wir Einträge dieser Art

<Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride None

wie folgt ab

<Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All

Nun starten wir den Indianer neu:
sudo /etc/init.d/apache2 restart

Jetzt haben wir einen funktionierenden Webserver, jedoch fehlt noch etwas, nämlich MySQL und PhpMyAdmin:
sudo apt-get install mysql-server phpmyadmin

ACHTUNG: Während der Installation wird nach einem Passwort gefragt – hierbei ist NICHT Euer Passwort gemeint, sondern das zukünftige Passwort für den Root-Account. Hier bitte daran denken, dass es um die spätere Verwaltung von Datenbanken geht, welche auch aus dem Internet ansprechbar ist – wählt also ein sicheres Passwort in Kombination aus Klein-, Großbuchstaben und Zahlen!

Nach erfolgter Installation könnt Ihr unter http://localhost/phpmyadmin bzw. http://127.0.0.1/phpmyadmin die Verwaltung aufrufen.
Login ist Root, Passwort habt Ihr während der Installation festgelegt!

Nun könnt Ihr Euch dem Thema ständige Erreichbarkeit des Webservers ein paar Gedanken machen (wie bereits am Anfang angesprochen).

Aufgrund der einfachen Einrichtung empfehle ich hier den Dienst Selfhost-FREE oder Selfhost-DOMAIN von Selfhost.de

————————————————————-

Das HowTo zum Webserver unter Xubuntu 8.04.1 LTS:

  1. Teil 1 : Vorwort
  2. Teil 2 : Grundinstallation
  3. Teil 3 : Fernwartung mittels SSH
  4. Teil 4 : Samba (4.1) und NFS (4.2) (Netzwerkfreigaben)
  5. Teil 5 : Webserver Apache2 (mit PHP5, CGI, MySql, PhpMyAdmin)
  6. Teil 6 : Mailserver (SMTP-Relay mittels Postfix)
  7. Teil 7 : FTP-Server

Der eigene Homeserver Teil 4.2 : NFS

In Kapitel 4.1 haben wir erfolgreich einen Samba-Server eingerichtet. Samba (SMB) ist für UNIX/Windows gedacht, um Freigaben einzurichten.

Jetzt gibt es aber auch noch andere Systeme wie Solaris, SunOS und andere MAC-Clients, die auf SMB leider nicht, oder nur sehr unzuverlässig zugreifen können – für solche gibt es das NFS (Network File System), welches aus meiner SIcht auch für reine Linux-Umgebungen wesentlich besser geeignet ist, als Samba!

Auch die Konfiguration (zumindest die Grundkonfiguration) geht wesentlich schneller und leichter von der Hand, auch das Thema Sicherheit ist wesentlich leichter zu handhaben, da Rechte grundsätzlich zuvor im Server festgelegt werden müssen.

Aber genug der (unnützen) Vorworte, nun richten wir NFS ein:

sudo apt-get install nfs-common nfs-kernel-server portmap

Nun öffnen wir die Datei /etc/exports und geben nach den Vorgaben von Kapitel 4.1 (Samba) folgendes ein:

/home 192.168.178.xx(rw)
/media/disk1 192.168.178.xx(rw,async)

Das Home-Verzeichnis wird durch die IP-Adresse vergeben, hier muß bei xx also die korrekte IP-des Clientrechners eingegeben werden.
Die zweite Festplatte (wenn nicht vorhanden einfach weglassen) muß hierfür wie in Kapitel 4.1 beschrieben gemountet sein.

Anstelle der IP kann auch der Hostname des Rechners eingegeben werden, jedoch muss dann die Datei /etc/hosts um die IP-Adresse und den Hostnamen des Clientrechners erweitert werden, z.B.:

192.168.178.111 laptop
192.168.178.123 drehorgel

Nun legen wir fest, welche IP-Adressen tatsächlich zugreifen dürfen. Aus diesem Grunde mußten wir in der /etc/hosts auch hinterlegen, welcher Hostname auf welcher IP hört, denn diese nun folgende Festlegung funktioniert nur mit IP’s.

sudo nano /etc/hosts.allow

portmap: 192.168.178.xx (oder wenn das gesamte Netzwerk Zugriff haben soll
portmap: 192.168.178.0/24)

Anschließend lassen wir den Server die Konfiguration neu einlesen:

sudo /etc/exportfs -ra

So, nun haben wir den Server im Grunde konfiguriert, nun muß unser Linux-Client auch noch für den Zugriff vorbereitet werden:
sudo apt-get install nfs-common portmap

sudo mkdir /media/NFS-Server

Nun öffnen wir die Datei /etc/fstab, und geben dort folgendes ein:
192.168.178.xxx:/media/disk1 /media/NFS-Server nfs rw 0 0

Nun wird bei jedem Start die neue Freigabe gemountet.

Hinweis:
Bei der Nutzung eines Laptops, welcher öfters in anderen Netzwerken betrieben wird, sollte man folgende Prozedur ausführen, da Portmap standardmäßig Ports für NFS öffnet:
sudo dpkg-reconfigure portmap

Bei der anschließenden Frage, ob Portmap nur an localhost gebunden werden soll, antworten wir mit einem JA. Somit ist der Port von anderen Rechnern nicht mehr ansprechbar!

————————————————————-

Das HowTo zum Webserver unter Xubuntu 8.04.1 LTS:

  1. Teil 1 : Vorwort
  2. Teil 2 : Grundinstallation
  3. Teil 3 : Fernwartung mittels SSH
  4. Teil 4 : Samba (4.1) und NFS (4.2) (Netzwerkfreigaben)
  5. Teil 5 : Webserver Apache2 (mit PHP5, CGI, MySql, PhpMyAdmin)
  6. Teil 6 : Mailserver (SMTP-Relay mittels Postfix)
  7. Teil 7 : FTP-Server

Der eigene Homeserver Teil 4.1 : Samba

So, mit diesem Beitrag gehen wir ans Eingemachte.
Heute sorgen wir dafür, dass wir mit unserem Rechner aus dem gesamten Netzwerk auf unsere Dateien des Servers zugreifen können.
In diesem Kapitel gehe ich NICHT den Weg über Scripte, um Ordner freizugeben, sondern den des Mountens. Mounten nennt man das virtuelle Einhängen eines Pfades, was man vergleichen kann mit einer Verknüpfung von WIndows. Jedoch ist diese “Verknüpfung” vollwertiger als nur eine eben solche.

Vorweg möchte ich noch anmerken, dass es zwar bisher keine belegbaren Fälle gibt, dass aus dem Internet heraus auf die Dateien eines anderen Users zugegriffen wurde (Hacking) und dass es grundsätzlich ein Risiko darstellt, einen Webserver auch als Dateiserver zu verwenden.

Die Begründung, dass bereits einige Server von Hostprovidern gehackt wurden und dort mehrere Dateien verschiedenster User verändert wurden, ist zwar zutreffend, jedoch kann man diese nicht pauschalisieren, da Linux/Ubuntu/Xubuntu verschiedenste Prioritäten vergibt!
So ist ein User aus dem Internet grundsätzlich der Gruppe “www-data” untergeordnet, welcher standardmäßig auf den Ordner begrenzt ist, in welchem die Inhalte des Apache-Webservers liegen.

D.h., dass es zwar grundsätzlich möglich ist u.U. eine “Tür” zum Webserver (Apache) zu öffnen, und bei falscher Berechtigungszuordnung der hinterlegten Dateien und niedriger Passwortsicherheit des Accounts damit eine Grundlage schafft, den Apache mit seinen Inhalten anzugreifen, jedoch sind Dateien, welche nicht im Webordner hinterlegt sind, gänzlich anderen Freigaben untergeordnet!
So kann ein www-data-User von Hause aus NICHT auf andere Ordner zugreifen, weder die des Users, welcher die Website betreibt, noch die Ordner anderer User!

Aus diesem Grunde bin ICH zumindest der Meinung, dass für Dateifreigaben unter Samba/NFS ein weiterer User im System bereits mehr positive Sicherheitsaspekte aufweist, als manch ein lausig eingerichteter Webserver eines x-beliebigen Hosters, der sehr großzügig im Rechte-Verteilen (Werbehoster z.B.) ist!
Das Machtwort lautet also RECHTE!
Dazu dann aber später etwas mehr, jetzt widmen wir uns nach einem ellenlangen Vortrag endlich mal dem Thema Samba-Freigaben! ;-)

Wie bereits erwähnt, sind Rechte das A und O.
Man kann einen Dateiserver zum einen so einrichten, dass man ohne Passwortlegitimation auf Freigaben zugreifen kann, oder aber den Zugang zu freigegeben Ordner auf User beschränken!
Auch kann eine solche Freigabe auf Computer aus dem Netzwerk begrenzt werden bzw. mittels IP und/oder MAC-Adresse festelegen, welcher Computer zugreifen darf!

Beides sind Extreme, welche ich NICHT ansprechen werde, da entweder zu unsicher, oder aber zu ausführlich.
Ich beschreibe hier heute die einfache, Passwortgesicherte Freigabe innerhalb des Netzwerkes, welche für alle User identisch ist. Auch wird der einfachste Weg gezeigt, wie weitere/externe Festplatten (welche Samba standardmäßig nicht einbinden kann) ebenfalls per Freigabe erreichbar sind.

Eine Anmerkung noch vorweg:
Linux ist in der Lage, trotz laufendem Rechner (1. eingerichteter User ist angemeldet) in der laufenden Session Abfragen weiterer User zu regeln, also sollte abgewägt werden, ob je nach Servertyp (nur Sambaserver oder Samba- UND Webserver) die Inhalte nicht verschiedenen Usern zugeteilt werden, also Sambaserver unter dem ersten eingerichteten User (der hat meist nach dem Root die meisten Rechte), und ein späterer Webserver unter einem weiteren User, dem expliziet mittels Gruppenverwaltung sämtliche unnötigen Rechte entzogen werden! Für den zweiten Weg habe ich mich mit meinem Server entschieden, jedoch hier nicht berücksichtigt!

Um spätere Verwechslungen zu vermeiden, rede ich fortan also von Root, Firstuser und Seconduser.

Wir haben also gesagt, dass der Sambaserver in diesem Beispiel nur vom Firstuser bzw. von der Gruppe Users ansprechbar ist, welcher sich im gleichen Netzwerk wie der Server befindet.

Terminaleingabe:
sudo apt-get install samba

Jetzt legen wir fest, welcher User Zugriff hat:
sudo smbpasswd -a Firstuser
Anschließend werden wir gefragt, welches Passwort für Firstuser hinterlegt werden soll.
Da Sicherheit nicht groß genug geschrieben werden kann, würde ich hier ein anderes wählen, als für das System hinterlegt wurde (andere Tut’s empfehlen jedoch das gleiche Passwort)!
Nun fügen wir den User Firstuser in der Gruppe Users zu:
sudo nano /etc/group
Wir suchen nun die Zeile, in welcher “users” aufgeführt ist.
Diese ändern wir wie folgt ab:
users:x:100:Firstuser
Danach speichern und Ende.

Nun konfigurieren wir den Samba-Server und verschieben die originale Konfigurationsdatei, damit diese nicht verändert wird und später zu Experimentierzwecken noch verwendet werden kann:
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Nun legen wir eine neue Konfigurationsdatei an:
sudo nano /etc/samba/smb.conf

In dieser tragen wir erstmal folgendes ein:

[global]
workgroup = MSHEIMNETZ
netbios name = homeserver
wins support = yes
os level = 34
local master = yes
invalid users = root, anonymous,nobody
security = user

socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
encrypt passwords = yes
unix password sync = yes
passwd program = /usr/bin/passwd %u

[homes]
comment = Heimverzeichnis

valid users = %S
browseable = no
read only = no
create mask = 700
directory mask= 700

[freigabe]
comment = BackupFestplatte
path = /media/disk1
writeable = yes
valid users = @users
force directory mode = 775
force create mode = 664
dos charset = 850
unix charset = ISO-8859-15
display charset = ISO-8859-15

Wenn Ihr keine 2. Festplatte einbinden wollt, lasst den Abschnitt [freigabe] einfach weg.
Speichern und Ende.
In der ersten Sektion [global] werden grundsätzliche Parameter für den Server festgelegt. In der zweiten Sektion [homes] wird festgelegt, dass jeder User in seinem Homeverzeichniss des Servers landet, welches andere evtl. User nicht sehen können. In der dritten Sektion [freigabe] könnt Ihr eine zweite Festplatte/Partition einbinden.

Solltet Ihr eine 2. Festplatte einbinden wollen, legt Ihr am besten bereits in der “Startdatei” des Systems den Ort der Platte fest! Dazu solltet Ihr wissen, als was das System die 2. Platte erkennt! In der Regel ist die erste Festplatte, auf welchem das System läuft, unter /dev/sda1 zu finden, die Auslagerungsdatei ist meistens unter /dev/sda2 eingebunden.
Dazu zur Kontrolle im Terminal folgendes eingeben:
sudo fdisk -l

Nun sollten Euch alle Partitionen/Festplatten angezeigt werden.

Sollte die 2. Festplatte z.B. unter /dev/sda3 gefunden werden, muss diese in der Datei /etc/fstab wie folgt einhängt werden (wie gehabt, sudo nano /etc/fstab):
/dev/sda3 /media/disk1 ext3 defaults,rw 0 0

Ist die gefundene Platte im Format NTFS formatiert, wird anstelle von “ext3″ einfach “ntfs” eingegeben.

Jetzt haben wir Samba im Prinzip fertig eingerichtet!
Ist als Freigabe eine 2. Festplatte angegeben, so muß noch sichergestellt werden, dass wir auch aus dem Unix-System heraus die passenden Rechte haben:
sudo chmod 775 /dev/sda3
sudo chmod 775 /media/disk1
sudo chgrp users /media/disk1

Mit der ersten Eingabe ändern wir die Rechte der Festplatte selbst!
Mit der zweiten die Rechte für das gemountete Verzeichnis.
Mit der dritten übertragen wir die Rechte an die Gruppe users.

Abschließend starten wir den Samba-Server neu, damit die neuen Einstellungen geladen werden:
sudo /etc/init.d/samba restart

Jetzt solltet Ihr im Netzwerk den Server finden und Euch als Firstuser einloggen können, und auf den Freigaben Lesen und Schreiben können!

Die einzelnen Erklärungen zu den Konfigurationen lasse ich bewusst aus, da es hier sinnvoller ist, direkt auf Werke von Samba zurückzugreifen, da man hier mehr falsch als richtig machen!

Auch kann es notwendig sein, dass ein WIndowsrechner, welcher auf die Freigaben zugreifen möchte, mit diesem Sicherheitspatch gepatched werden muss, bevor Passwörter akzeptiert werden!

Diese Konfiguration (nur mit anderen Pfaden und Namen) funktioniert auf meinem System einwandfrei, um selbst experimentieren zu wollen, empfehle ich diese “kleine” Lektüre! ;-)

Und da dieses Kapitel so extrem lang geworden ist, hat es einen Untertitel verpasst bekommen – NFS ist dann das zweite Unterkapitel.

————————————————————-

Das HowTo zum Webserver unter Xubuntu 8.04.1 LTS:

  1. Teil 1 : Vorwort
  2. Teil 2 : Grundinstallation
  3. Teil 3 : Fernwartung mittels SSH
  4. Teil 4 : Samba (4.1) und NFS (4.2) (Netzwerkfreigaben)
  5. Teil 5 : Webserver Apache2 (mit PHP5, CGI, MySql, PhpMyAdmin)
  6. Teil 6 : Mailserver (SMTP-Relay mittels Postfix)
  7. Teil 7 : FTP-Server