chr.pie
Anmeldungsdatum: 25. Januar 2016
Beiträge: 37
|
Es tut mir leid, dass ich jetzt auch noch ein Thread aufmache, ob hier direkt schon 2 Themen stehen. Aber ich komme nicht weiter. Irgendwie ist bei diesen Samba Shares der Wurm drin. Ich will mit Ordner "Samba" freigeben, der für Windows Nutzer erreichbar ist. Weil ich gelesen habe, dass Windows Benutzer mit Leerzeichen Probleme machen, habe ich mir überlegt, dass der Ordner einfach für jeden freigegeen werden soll (auch Schreibzugriff), unabhängig vom Benutzer- name. Ich habe den Samba Dienst installiert:
sudo apt-get install samba Ich habe nun die Version "4.3.8-Ubuntu". Ich habe im Konfigurationsfile /etc/samba/smb.conf
Dann habe ich ganz am Ende einen Block angelegt: [Samba]
path = /media/ich/Samba
public = yes
witable = yes
guest ok = yes
create mask = 0777
directory mask = 0777
browseable = yes
read only = no Im Moment komme ich mit Windows nichtmal auf das Ubuntu Gerät. Der Windows PC
sagt immer (siehge Anhang) Christoph
- Bilder
|
sinusQ
Anmeldungsdatum: 27. Oktober 2010
Beiträge: 193
Wohnort: Neudau
|
Wie versuchst du denn von Windows aus auf die Freigabe zuzugreifen? Laut Fehlermeldung ist "die Netzwerkadresse unzulässig" Michael
|
chr.pie
(Themenstarter)
Anmeldungsdatum: 25. Januar 2016
Beiträge: 37
|
Ich tippe in der Addressleiste des Explorer die Addresse "\\server" ein. Wenn ich in der Kommandozeile
den Server mit
ping server
Anpinge, bekomme ich eine Antwort von dem Rechner.
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Wie üblich, sollte man da noch etwas mehr erfahren.
Wie sind denn die UNIX-Dateirechte für den freigegebenen Ordner /media/ich/Samba auf dem Server festgelegt? Poste dafür bitte die Ausgabe von getfacl /media/ich/Samba als Codeblock. Hat denn der User, mit dessen Identität Du Dich auf dem Windows-Client einloggst, einen Account auf dem Server? Als Gäste dürfen sich alle User einloggen, die dem Server "bekannt" sind, also z.B. auch der virtuelle User nobody , den Windows verwendet, wenn man nicht namentlich eingeloggt ist. Wenn man in Windows mit Username und Passwort eingeloggt ist, dann verwendet Windows (vermutlich je nach Version...?) für den Zugriff diese Identität. Und die ist eventuell dem Server eben nicht bekannt. Sind alle Namen korrekt (Zeichen, Länge usw.). Dies lässt sich über den Befehl smbtree im Terminal auf dem Server überprüfen.
Dein Eintrag in der Datei /etc/samba/smb.conf ist korrekt, aber sehr redundant. Folgendes müsste ausreichen und das Gleiche bewirken:
[Samba]
path = /media/ich/Samba
public = yes
witable = yes
Außerdem würde ich es vermeiden, ein Wort, das bereits eine andere Bedeutung hat (z.B. "Samba") als Bezeichnung für eine einzelne Freigabe zu verwenden. Doch wahrscheinlich stört dies hier nicht (?). Weitere Informationen finden sich auf dem Server in der Datei /var/log/samba/log.CLIENT, wobei CLIENT je nach Art des Zugriffsversuchs der Name oder auch die IP des zugrreifenden Client sein kann. Gruß – Max-Ulrich
|
chr.pie
(Themenstarter)
Anmeldungsdatum: 25. Januar 2016
Beiträge: 37
|
Die Unix Dateirechte sehen so aus:
# file: Samba
# owner: ich
# group: users
user::rwx
group::rwx
other::rwx Der User mit dem ich mich einloggen möchte hat kein Konto auf der Ubuntu Maschiene. Der hat ja wie gesagt ein Leerzeichen im Namen. Ich hab schon versucht den Samba Benutzern diesen Benutzer bekannt zu machen. Aber es gibt halt Probleme mit dem Leerzeichen. In dem Samba Log Verzeichnis liegt nur eine Log mit der IP des Windows PCs in dem das steht:
[2016/04/26 22:01:40.786701, 0] ../lib/param/loadparm.c:732(lpcfg_map_parameter)
Unknown parameter encountered: "valid user"
[2016/04/26 22:01:40.786741, 0] ../lib/param/loadparm.c:1650(lpcfg_do_service_parameter)
Ignoring unknown parameter "valid user" Hilft das weiter? Was kann ich noch probieren?
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Folgendes ist sichtbar:
Die UNIX-Dateirechte sind ok (auch für einen Gast-Zugang), und es sind keine ACL gesetzt, die den Zugang behindern könnten. Es gibt noch einen Fehler in der Datei smb.conf, vermutlich im Teil [global] : Es muss heißen valid users = XYZ, auch wenn es sich nur um einen einzigen User handelt. Es ist kein Hinweis auf ein Problem mit einem Leerzeichen erkennbar. Leerzeichen sind in den meisten Dateien zulässig, wenn man sie durch einen vorangestellten Backslash (\) "escaped". In manchen Dateien, in denen Leerzeichen Trennzeichen zwischen Spalten sind (z.B. /etc/fstab) geht dies aber nicht, da müssen Leerzeichen dann durch die Zeichenfolge \040 umschrieben werden. Wenn man dies beachtet, dürften Leerzeichen (meistens) kein Problem sein. An die maximale Länge von 15 Zeichen sollte man sich halten. Der User mit dem ich mich einloggen möchte hat kein Konto auf der Ubuntu Maschine. – Hiermit musst Du Dich noch etwas befassen. Wenn Du Dich mit der Identität dieses Users einloggen willst (und nicht wie in den home-Versionen mit der virtuellen Identität nobody ), dann muss dieser User auf der Ubuntu-Maschine wenigstens einen System-Account haben. Doch mit diesem ist dann zunächst nur der Gast-Zugang möglich (den Du ja erlaubt hast). Für einen persönlichen Zugang ist zusätzlich noch ein Samba-Account erforderlich (einzurichten z.B. mittesl sudo smbpasswd -a <User> oder über system-config-samba). Standardmäßig steht dann aber Usern mit eigenem Samba-Account der Gast-Zugang ohne Passwort nicht mehr offen (wozu auch?).
Ob dies schon eine Lösung für Dein Problem bringt, weiß ich nicht. Aber mehr kann ich auf Grund der vorhandenen Informationen leider nicht sagen. Gruß – Max-Ulrich
|
chr.pie
(Themenstarter)
Anmeldungsdatum: 25. Januar 2016
Beiträge: 37
|
Max-Ulrich_Farber schrieb: Der User mit dem ich mich einloggen möchte hat kein Konto auf der Ubuntu Maschine. – Hiermit musst Du Dich noch etwas befassen. Wenn Du Dich mit der Identität dieses Users einloggen willst (und nicht wie in den home-Versionen mit der virtuellen Identität nobody ), dann muss dieser User auf der Ubuntu-Maschine wenigstens einen System-Account haben. Doch mit diesem ist dann zunächst nur der Gast-Zugang möglich (den Du ja erlaubt hast). Für einen persönlichen Zugang ist zusätzlich noch ein Samba-Account erforderlich (einzurichten z.B. mittesl sudo smbpasswd -a <User> oder über system-config-samba). Standardmäßig steht dann aber Usern mit eigenem Samba-Account der Gast-Zugang ohne Passwort nicht mehr offen (wozu auch?).
Ja aber das ist doch genau das Problem. Wie soll ich denn dem Windows Nutzer (welcher ein Leerzeichen im Namen hat) einen Account unter Ubuntu einrichten?
Ich habe gegoogelt. Aber anscheinend ist da ja gar nicht vorgesehen...
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Windows-Benutzernamen mit Leerzeichen können mit username map im Teil [global] der Datei smb.conf auf einen zulässigen Usernamen gemappt werden (siehe auch man smb.conf ).
username map = <Map-Datei> Der in Linux/Samba nicht zulässige Name mit Leerzeichen muss dort in doppelte Anführungszeichen (Quotes) gesetzt werden, also z.B. edi = "Eduard Meier" Für edi lässt sich dann ein System-Account mittels adduser und nötigenfalls (für Zugriff ohne Gast-Rechte) noch ein Samba-Account mit smbpasswd einrichten:
sudo adduser edi
sudo smbpasswd -a edi # nicht für Gast-Zugriff
Gruß – Max-Ulrich
|
chr.pie
(Themenstarter)
Anmeldungsdatum: 25. Januar 2016
Beiträge: 37
|
Ok. Ich hab das mal versucht. Ich habe unter /etc/samba eine Datei "usermap.txt" angelegt, und meinen Windows Benutzer "Vorname Nachname" auf einen auf
dem Ubuntu eingerichteten Account "vorname" gemappt. Die Datei habe ich in der smb.conf in der [global] Sektion angegeben. Ich habe dann den Benutzer
"vorname" noch mit sudo smbpasswd -a vorname inkl. Passwort hinzugefügt. Leider hat das nix gebracht. Windows fragt zwar nach der Eingabe von \\server jetzt zwar Benutzername und Passort ab, anstatt
direkt abzublocken, aber es wird keine Kombination von Benutzername und Passwort angenommen. Hab alle mal durchprobiert. Speziell "vorname" und das oben
vergebene Passwort funktionieren nicht.
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Jetzt müssen wir aufpassen, dass wir nicht "über das Ziel hinausschießen". Sind folgende Annahmen richtig:
Du willst doch den Gast-Zugang benutzen (zugelassen über public = yes ), oder nicht? Was hat es denn mit der Option valid users auf sich? Den Teil [global] der smb.conf hast Du ja leider nicht gepostet. Im Teil [global] der smb.conf steht map to guest = bad user (?). Dann dürfen alle Benutzer, die zwar einen System-Account (einzurichten mit adduser ), aber keinen Samba-Account haben ("bad user"), ohne Passwort als Gäste zugreifen. Wegen der "liberalen" Einstellung der UNIX-Dateirechte (s.o.) haben auch Gäste volle Zugriffsrechte. Windows hält noch eine besondere "Falle" bereit: Von einem Windows-Client aus kann man nicht während der gleichen Sitzung mit zwei verschiedenen Identitäten auf den gleichen Server zugreifen. Sprich: Wenn man es einmal mit einer bestimmten Identität versucht hat, kann man ohne Neuanmeldung nicht einfach weiter probieren. Es geht auch nicht, während der gleichen Sitzung z.B. auf eine Freigabe als Gast und auf eine andere mittels Username und Passwort zuzugreifen. Bei Linux-Clients ist das nicht so. Das User-Mapping sollte so schon funktionieren, vorausgesetzt, Samba hat Zugriff auf die Mapping-Datei. Ich weiß nicht, ob es sehr geschickt ist, einfach den "Vornamen" als Alias zu verwenden (?).
Ich würde nun 'mal versuchen, mich in einer neu gestarteten Sitzung einzuloggen und dann, falls dies nicht klappt, wieder in der o.g. Logfile nachsehen, woran es jetzt gescheitert ist. Wenn der User einen eigenen Samba-Account hat (eigerichtet mit smbpasswd -a <user> ), dann müssen das Windows-Passwort und das Samba-Passwort übereinstimmen. Etwaige Fehler in der Datei smb.conf findet man mittels testparm . Ob die Freigaben verfügbar sind, zeigt smbtree . Ob die Auflösung des Netbios-Namens (Servername) funktioniert, zeigt nmblookup <Servername> . Außerdem kannst Du 'mal versuchen, auf dem Server selbst über das Netzwerk auf die eigenen Freigaben zuzugreifen (falls der Server eine GUI hat, z.B. über "Netzwerk durchsuchen"). Wenn das nicht klappt, dann kann es auch von dem Windows-Client aus nicht gehen.
|
chr.pie
(Themenstarter)
Anmeldungsdatum: 25. Januar 2016
Beiträge: 37
|
Max-Ulrich_Farber schrieb: Jetzt müssen wir aufpassen, dass wir nicht "über das Ziel hinausschießen". Sind folgende Annahmen richtig:
Erst wollte ich das - ja. Weil ich dachte es sei so einfacher, Freigaben zu erstellen. Aber prinzipiell ist es natürlich sinnvoller, bestimmte Ordner wirklich nur für den einen Windows Nutzer frei zu geben, der auch auf den Server zugreifen muss. Also lassen wir das mit dem Gatszugang und konzentrieren uns auf eine reguläre Freigabe für einen bestimmten Windows Nutzer.
Ich habe (nach der Korrektur aus dem letzten Post) nur diesen beiden Einträge in der [global] - Sektion:
username map = /etc/samba/usermap.txt
valid users = ich Meine usermap.txt sieht jetzt so aus:
ich="Vorname Nachnahme" Im Teil [global] der smb.conf steht map to guest = bad user (?). Dann dürfen alle Benutzer, die zwar einen System-Account (einzurichten mit adduser ), aber keinen Samba-Account haben ("bad user"), ohne Passwort als Gäste zugreifen. Wegen der "liberalen" Einstellung der UNIX-Dateirechte (s.o.) haben auch Gäste volle Zugriffsrechte.
Der Eintrag steht bei mir nicht (auch nicht in auskommentierter Form)
Windows hält noch eine besondere "Falle" bereit: Von einem Windows-Client aus kann man nicht während der gleichen Sitzung mit zwei verschiedenen Identitäten auf den gleichen Server zugreifen. Sprich: Wenn man es einmal mit einer bestimmten Identität versucht hat, kann man ohne Neuanmeldung nicht einfach weiter probieren. Es geht auch nicht, während der gleichen Sitzung z.B. auf eine Freigabe als Gast und auf eine andere mittels Username und Passwort zuzugreifen. Bei Linux-Clients ist das nicht so.
Ok. Das müsste ich nochmal prüfen. Also mit dem Windows Account abmelden, dann wieder anmelden und dann probieren, ne?
Wie teste ich ob Samba (keinen) Zugriff hat?
Naja. Der Account "Vorname" ist ja auch der, mit dem ich ganz regulär auf dem Ubuntu Server arbeite. Ich dachte das wäre dann passend. Weil der Windows account ja quas auch auf meinen Namen läuft.
Ich würde nun 'mal versuchen, mich in einer neu gestarteten Sitzung einzuloggen und dann, falls dies nicht klappt, wieder in der o.g. Logfile nachsehen, woran es jetzt gescheitert ist. Wenn der User einen eigenen Samba-Account hat (eigerichtet mit smbpasswd -a <user> ), dann müssen das Windows-Passwort und das Samba-Passwort übereinstimmen.
Ok. Werde ich auch mal testen. Ich meine ich hätte das auch schonmal versucht, aber Linux hat das Windows Passwort, in dem auch Sonderzeichen drin sind nicht angenommen...
Etwaige Fehler in der Datei smb.conf findet man mittels testparm . Ob die Freigaben verfügbar sind, zeigt smbtree . Ob die Auflösung des Netbios-Namens (Servername) funktioniert, zeigt nmblookup <Servername> . Außerdem kannst Du 'mal versuchen, auf dem Server selbst über das Netzwerk auf die eigenen Freigaben zuzugreifen (falls der Server eine GUI hat, z.B. über "Netzwerk durchsuchen"). Wenn das nicht klappt, dann kann es auch von dem Windows-Client aus nicht gehen.
Ok. Werde ich alles mal testen, und dann berichten! EDIT: Ich hab es hinbekommen!
Dabei waren 2 Tipps sehr, sehr hilfreich:
Max-Ulrich_Farber schrieb:> Ich würde nun 'mal versuchen, mich in einer neu gestarteten Sitzung einzuloggen und dann, falls dies nicht klappt, wieder in der o.g. Logfile nachsehen, woran es jetzt gescheitert ist. Wenn der User einen eigenen Samba-Account hat (eigerichtet mit smbpasswd -a <user> ), dann müssen das Windows-Passwort und das Samba-Passwort übereinstimmen. Max-Ulrich_Farber schrieb:> Windows hält noch eine besondere "Falle" bereit: Von einem Windows-Client aus kann man nicht während der gleichen Sitzung mit zwei verschiedenen Identitäten auf den gleichen Server zugreifen. Sprich: Wenn man es einmal mit einer bestimmten Identität versucht hat, kann man ohne Neuanmeldung nicht einfach weiter probieren. Es geht auch nicht, während der gleichen Sitzung z.B. auf eine Freigabe als Gast und auf eine andere mittels Username und Passwort zuzugreifen. Bei Linux-Clients ist das nicht so.
Ich habe dann noch zusätzlich dem Samba Benutzer "Vorname" das Windows Passwort gegeben. Ich bedanke mich für die sachliche und ausführliche Hilfe (trotz X anderer Threads, die sich mit dem Thema beschäftigen). Das finde ich sehr nett! Danke! Christoph
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Ich hab es hinbekommen!
Das freut mich! 👍 Trotzdem will ich Dir noch ein paar Fragen beantworten, auch wenn diese momentan irrelevant sind, weil Du ja auf den Gast-Zugang verzichtet hast. valid users = ich
Dies versperrt Dir (und allen Anderen) natürlich den Gast-Zugang; es ist im Widerspruch zu public = yes . public = yes kannst Du bei den Freigaben jetzt löschen, es ist unwirksam.
Wie teste ich ob Samba (keinen) Zugriff hat?
Über die Rechte. Doch weil es funktioniert, hat Samba offenbar Zugriff. Du kannst jetzt wohl das grüne Häkchen setzen für "gelöst" (?). Das macht immer der Threadstarter. Gruß – Max-Ulrich
|
chr.pie
(Themenstarter)
Anmeldungsdatum: 25. Januar 2016
Beiträge: 37
|
Danke nochmal für die ausführliche Hilfe. Ich habe jetzt im Zuge dieser ganzen Kryptotrojaner überlegt, wie man sich am besten davor schützt. Das Ubuntu, welches ich laufen habe, ist auf einem Server installiert, der durchläuft und auf den auch automatische Backups ausgeführt werden, u.a. von meinem Windows Rechner aber auch von Macs, usw. In der c't meinten sie, es sei sinnvoll, dass der Trojaner, wenn einer da ist, keinen schreibzugriff auf die Freigaben hat, damit die Backups nicht auch noch verschlüsselt werden. Das ist natürlich einleuchtend. Jetzt ist die Frage, wie man Linux / Samba seitig am schlauesten damit umgeht. Auf meinem Windows Rechner habe ich einen extra Benutzer angelegt, und dem Backup Tool (ich benutze http://www.lupinho.net/hardlinkbackup/) die Benutzerdaten angegeben. Ich denke mal, die Samba Freigaben müssen jetzt nur noch diesem Benutzer zugänglich sein. Die Frage ist, ob das reicht, oder könnte es sein, dass der Trojaner sich irgendwie als der Backup-Windows-Nutzer ausgibt? An das Passwort für den Backup-Nutzer sollte der Trohjaner ja nicht so einfach ran kommen. Muss man da noch irgendwas beachten?
|
Max-Ulrich_Farber
Anmeldungsdatum: 23. Januar 2007
Beiträge: 7992
|
Die Troyaner-Geschichte ist ein Thema für sich und passt nicht zum Thema dieses Threads. Nur ganz kurz: Meines Wissens kann keiner der bekannten Krypto-Trojaner unter Linux aktiv werden. Dagegen können die Trojaner natürlich auch über Linux-Rechner weiter verbreitet werden und somit Windows-Maschinen im Netz bedrohen. Damit Backups nicht verschlüsselt werden können, musst Du den Zugriff von den Windows-Clients aus beachten. Das ist aber ein Windows- und kein Linux-Problem.
|