Thomas111
Anmeldungsdatum: 28. Februar 2017
Beiträge: 34
|
Hallo allerseits, ich bräuchte mal bitte eure Hilfe. Mein kleines Netzwerk aus zwei Ubuntu-Rechnern funktioniert prima (beide mit LTS 18.04.2). Sie sind per net usershare verbunden. Im Client lassen sich aber nur Dateien öffnen, die sich direkt im freigegebenen Ordner befinden, nicht Dateien in Unterordnern (Fehlermeldung siehe Screenshot 1). Wenn ich die Ordner-Freigabe auch für den Unterordner einstelle, dann kann ich auch die Dateien im Unterordner öffnen. Diese Methode ist aber viel zu aufwändig und unübersichtlich. Um alle Unterordner auf einmal freizugeben, habe ich versucht, für den übergeordneten Ordner die Zugriffsrechte der enthaltenen Dateien zu ändern (siehe Screenshot 2), aber die Änderungen sind nach Schließen des Fensters wieder raus, bzw. die Ändern-Schaltfläche wird nicht aktiv (grün). Ich habe noch einen anderen Ordner, der völlig identisch freigegeben ist und seltsamerweise lassen sich da ohne weiteres Zutun alle Dateien in den Unterordnern öffnen. Bin für jeden Rat dankbar. Beste Grüße Thomas
- Bilder
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Bitte einmal folgende Ausgaben liefern:
| smbclient -L localhost
net usershare info
sudo pdbedit -L
|
|
Thomas111
(Themenstarter)
Anmeldungsdatum: 28. Februar 2017
Beiträge: 34
|
Hallo chr123, danke für deine Antwort. smbclient -L localhost gibt folgendes aus:
Der Befehl 'smbclient' wurde nicht gefunden, kann aber installiert werden mit:
sudo apt install smbclient net usershare info (Die tatsächlichen Ordnernamen habe ich durch "Ordner 1" usw. ersetzt.
Die Ordner 3 bis 5 hatte ich nur zu Testzwecken angelegt.)
[Ordner 1]
path=/home/thomas/Dokumente/Ordner 1
comment=
usershare_acl=Everyone:F,
guest_ok=n
info_fn: file /var/lib/samba/usershares/unter is not a well formed usershare file.
info_fn: Error was Path is not a directory.
[Ordner 2]
path=/home/thomas/Dokumente/Ordner 2
comment=
usershare_acl=Everyone:F,
guest_ok=n
info_fn: file /var/lib/samba/usershares/Ordner 3 is not a well formed usershare file.
info_fn: Error was Path is not a directory.
info_fn: file /var/lib/samba/usershares/Ordner 4 is not a well formed usershare file.
info_fn: Error was Path is not a directory.
info_fn: file /var/lib/samba/usershares/Ordner 5 is not a well formed usershare file.
info_fn: Error was Path is not a directory. sudo pdbedit -L
thomas:1000:Thomas
thomas2:1001:Thomas2
"thomas" ist der Server und "thomas2" der Client. Im Ordner 2 lassen sich alle Dateiformate in den Unterordnern problemlos anzeigen.
Im Ordner 1 lassen sich Libre-Dateien nur im freigegebenen Ordner, aber nicht in den Unterordnern anzeigen. Wie ich jetzt erst bemerkt habe, lassen sich andere Dateiformate (PDF, mp3, png) in den Unterordnern problemlos öffnen.
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Ok, das scheint dann eine LibreOffice Besonderheit zu sein. Grundsätzlich sehen die share von net usershare ok aus, trotz des Fehlerausweises. Mir fallen jetzt nur folgende Optionen ein: Beim Server: | getfacl /home/thomas/Dokumente/Ordner\ 1 #Pfad noch anpassen
|
Beim Client:
Bei Datenbanken (MS Access) gäbe es folgende mount.cifs Option:
nobrl
Do not send byte range lock requests to the server. This is necessary for certain applications that break with cifs style mandatory byte range locks (and most cifs servers do not yet support requesting advisory byte range locks) Das könnte hier auch helfen.
|
Thomas111
(Themenstarter)
Anmeldungsdatum: 28. Februar 2017
Beiträge: 34
|
Der tatsächliche Ordnername enthält drei Leerzeichen, also: 1 drei Leerzeichen Ordnername. Deshalb habe ich es so ins Terminal eingegeben: getfacl /home/thomas/Dokumente/"1 drei Leerzeichen Ordner". War das richtig? getfacl: Entferne führende '/' von absoluten Pfadnamen
# file: home/thomas/Dokumente/1 Ordner
# owner: thomas
# group: thomas
user::rwx
group::rwx
other::rwx testparm Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: The "syslog" option is deprecated
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions
# Global parameters
[global]
dns proxy = No
log file = /var/log/samba/log.%m
map to guest = Bad User
max log size = 1000
obey pam restrictions = Yes
pam password change = Yes
panic action = /usr/share/samba/panic-action %d
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
passwd program = /usr/bin/passwd %u
server role = standalone server
server string = %h server (Samba, Ubuntu)
syslog = 0
unix password sync = Yes
usershare allow guests = Yes
idmap config * : backend = tdb
[printers]
browseable = No
comment = All Printers
create mask = 0700
path = /var/spool/samba
printable = Yes
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers "Beim Client: wie werden die Freigaben eingebunden, per gvfs oder mount.cifs?" Das verstehe ich nicht. Ich mache es immer so: Nautilus > "Andere Orte" > Server-PC > Ordner 1 > "Als registrierter Benutzer" "Bei Datenbanken (MS Access) gäbe es folgende mount.cifs Option: ..." Soll ich den kompletten Text ins Terminal eingeben? In der Zwischenzeit habe ich noch Folgendes bemerkt: Wenn ich die Super-Taste drücke und dann bei "Suchbegriff eingeben" einen Dateinamen reinschreibe, werden Libre-Dateien im besagten Ordner 1 nicht gefunden, während alle anderen Dateiformate im Ordner 1 und sämtliche Dateien in anderen Ordnern gefunden werden. Kann das Ganze vielleicht an einer Art Sperre in Nautilus liegen?
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Thomas111 schrieb: War das richtig?
Ja. Die Rechte sind ok.
Das verstehe ich nicht. Ich mache es immer so: Nautilus > "Andere Orte" > Server-PC > Ordner 1 > "Als registrierter Benutzer"
OK, also über gvfs ☺ Tritt das Problem auch über mount.cifs auf? mkdir ~/nas_test
sudo apt-get install cifs-utils
sudo mount -t cifs --verbose -o username=benutzer,password=XXX,vers=1.0,uid=1000 //192.168.a.b/SHARE ~/nas_test Ersetzen musst du den username samt Passwort, die IP, den Share Namen und ggf die User ID. "Bei Datenbanken (MS Access) gäbe es folgende mount.cifs Option: ..." Soll ich den kompletten Text ins Terminal eingeben?
Nein. Das wäre eine Option für mount.cifs.
Kann das Ganze vielleicht an einer Art Sperre in Nautilus liegen?
Das kann ich nicht sagen.
|
Thomas111
(Themenstarter)
Anmeldungsdatum: 28. Februar 2017
Beiträge: 34
|
OK, also über gvfs ☺ Tritt das Problem auch über mount.cifs auf?
Ich habe keine Ahnung, was mount.cifs ist. Aber bestimmt wird es helfen. ☺ sudo apt-get install cifs-utils Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Vorgeschlagene Pakete:
keyutils smbclient winbind
Die folgenden NEUEN Pakete werden installiert:
cifs-utils
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 4 nicht aktualisiert.
Es müssen 71,5 kB an Archiven heruntergeladen werden.
Nach dieser Operation werden 231 kB Plattenplatz zusätzlich benutzt.
Holen:1 http://de.archive.ubuntu.com/ubuntu bionic/main amd64 cifs-utils amd64 2:6.8-1 [71,5 kB]
Es wurden 71,5 kB in 0 s geholt (254 kB/s).
Vormals nicht ausgewähltes Paket cifs-utils wird gewählt.
(Lese Datenbank ... 160934 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../cifs-utils_2%3a6.8-1_amd64.deb ...
Entpacken von cifs-utils (2:6.8-1) ...
cifs-utils (2:6.8-1) wird eingerichtet ...
update-alternatives: /usr/lib/x86_64-linux-gnu/cifs-utils/idmapwb.so wird verwendet, um /etc/cifs-utils/idmap-plugin (idmap-plugin) im automatischen Modus bereitzustellen
Trigger für man-db (2.8.3-2ubuntu0.1) werden verarbeitet ...
sudo mount -t cifs --verbose -o username=benutzer,password=XXX,vers=1.0,uid=1000 //192.168.a.b/SHARE ~/nas_test Ersetzen musst du den username samt Passwort, die IP, den Share Namen und ggf die User ID.
Sorry, aber hier muss ich noch mal fragen.
Verstehe ich das richtig, alle von mir fett markierten Teile ersetzen? Sämtliche nicht fett markierten Zeichen übernehmen? Die Tilde nach "Share" auch reinschreiben? sudo mount -t cifs --verbose -o username=benutzer,password=XXX,vers=1.0,uid=1000 //192.168.a.b/SHARE ~/nas_test Username und Passwort vom Server-PC? Welches ist der Share Name? Die uid müsste mit 1000 richtig sein. Also die vom Server, ja? Die IP habe ich versucht mit inxi -i zu ermitteln. Aber welche von denen? Ist es ip-v4?
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Thomas111 schrieb: OK, also über gvfs ☺ Tritt das Problem auch über mount.cifs auf?
Ich habe keine Ahnung, was mount.cifs ist. Aber bestimmt wird es helfen. ☺
mount.cifs ist eine Alternativ zu gvfs:
Verstehe ich das richtig, alle von mir fett markierten Teile ersetzen? Sämtliche nicht fett markierten Zeichen übernehmen? Die Tilde nach "Share" auch reinschreiben?
Fast richtig: sudo mount -t cifs --verbose -o username=benutzer,password=XXX,vers=1.0,uid=1000 //192.168.a.b/SHARE ~/nas_test
Ich gehe mal von folgendem Beispiel: inet 127.0.0.1/8 scope host lo
inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic eno1
Dann müsstest du auf dem Client B die o.g. Befehlszeile wie folgt anpassen: | sudo mount -t cifs --verbose -o username=thomas,password=deinPasswortfürSAMBA,vers=1.0,uid=1000 //192.168.1.10/Ordner\ 1 ~/nas_test
|
Danach sollte im Verzeichnis ~/nas_test die Freigabe von Server A erscheinen. Deiner Ordner 1 hat ein Leerzeichen, das wurde mit \ maskiert (also: Ordner\ 1). Wie gesagt, im Moment kann ich nicht sagen, woran es liegt. Daher der Versuch zu gucken, ob der Zugriff über mount.cifs funktioniert. Wenn ja, dann scheint das Problem bei gvfs zu liegen.
|
Thomas111
(Themenstarter)
Anmeldungsdatum: 28. Februar 2017
Beiträge: 34
|
Puuhh, da hab' ich echt Probleme und bin unsicher. Die IP und die uid habe ich, das war nicht schwer. Aber was soll ich bei username eintragen? Der user heißt doch thomas und das steht ja schon da. Der Benutzer im Server-PC für Ubuntu insgesamt heißt Thomas (also mit Großbuchstaben). Soll ich schreiben "username=thomas" oder "Thomas=thomas"? Bei "Passwort für Samba" trage ich das Passwort des Client ein? Der Client heißt aber thomas 2 und deshalb nehme ich das Passwort, mit dem sich thomas 2 im Netzwerk anmeldet? Im Server thomas habe ich kein Samba-Passwort, nur das Benutzerpasswort, das z. B. von der Aktualisierungsverwaltung abgefragt wird. Ich weiß nicht, was ich bei "vers=1.0" eintragen soll, bzw. wo ich den entsprechenden Wert herbekomme. Auch mit dem Ordner hab ich Probleme, deshalb sag ich jetzt einfach mal, dass er 1 Theater heißt. Zwischen der 1 und Theater sind drei Leerzeichen. Nach der IP folgt also: /\1 Theater ~/nas_test. Richtig? Und wenn ich dann endlich diese Befehlszeile vollständig habe, gebe ich sie ins Terminal des Client-PCs ein? Richtig? Ich danke, für deine Geduld mit mir und meinen mangelnden Fähigkeiten in dieser Materie.
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Thomas111 schrieb: Aber was soll ich bei username eintragen? Der user heißt doch thomas und das steht ja schon da. Der Benutzer im Server-PC für Ubuntu insgesamt heißt Thomas (also mit Großbuchstaben). Soll ich schreiben "username=thomas" oder "Thomas=thomas"?
Bei "Passwort für Samba" trage ich das Passwort des Client ein? Der Client heißt aber thomas 2 und deshalb nehme ich das Passwort, mit dem sich thomas 2 im Netzwerk anmeldet? Im Server thomas habe ich kein Samba-Passwort, nur das Benutzerpasswort, das z. B. von der Aktualisierungsverwaltung abgefragt wird.
Genau, das Passwort für das Netzwerk. Weiter oben hattest du folgendes ausgegeben: Thomas111 schrieb: sudo pdbedit -L
thomas:1000:Thomas
thomas2:1001:Thomas2
"thomas" ist der Server und "thomas2" der Client.
Ok, demnach ist thomas2 richtig.
Ich weiß nicht, was ich bei "vers=1.0" eintragen soll, bzw. wo ich den entsprechenden Wert herbekomme.
Damit wird die Protokollversion angegeben. Version 1.0 das smb / cifs Protokoll sollte klappen. Zur Not lässt du den Wert erstmal weg.
Auch mit dem Ordner hab ich Probleme, deshalb sag ich jetzt einfach mal, dass er 1 Theater heißt. Zwischen der 1 und Theater sind drei Leerzeichen. Nach der IP folgt also: /\1 Theater ~/nas_test. Richtig?
Wer macht denn sowas 😀 Jedes Leerzeichen musst du mit einem \ maskieren, also:
sudo mount -t cifs --verbose -o username=thomas2,password=deinPasswortvonthomas2fürSAMBA,uid=1000 //192.168.1.10/1\ \ \ Theater ~/nas_test Hier musst du dann nur noch die IP korrigieren, das Passwort von Samba für den Benutzer thomas2 auf dem Server eintragen, ggf. die uid korrigieren. Den Rest brauchst du nur kopieren und in ein Terminal einfügen.
Und wenn ich dann endlich diese Befehlszeile vollständig habe, gebe ich sie ins Terminal des Client-PCs ein? Richtig?
Ja. Genau. Das Paket cifs-utils muss dort aber auch installiert sein.
|
Thomas111
(Themenstarter)
Anmeldungsdatum: 28. Februar 2017
Beiträge: 34
|
Als Ausgabe kam: Couldn't chdir to /home/thomas2/nas_test: No such file or directory Das hat geklappt. Toll. Sämtliche Dateien im Ordner "1 Theater" konnten nun ohne Probleme geöffnet werden. Dann habe ich versucht, einen weiteren Ordner (Name: 3 xxx) freizugeben und die ganze Freude war wieder hinüber. Der neue Ordner lässt sich nicht freigeben und auch in Ordner "1 Theater" lassen sich die Libre-Dateien nun nicht mehr öffnen. Es kommt die oben genannte Fehlermeldung. Dann habe ich den Terminalbefehl für den Ordner "1 Theater" erneut ausgeführt, aber diesmal ohne Erfolg. Seltsamerweise lassen sich sämtliche Dateien in Ordner "4 xxx" von Anfang an und auch jetzt problemlos öffnen.
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Nur noch mal zum Verständnis für dich: wenn du über gvfs mountest, dann ist quasi eine manuelle Konfiguration fast nicht mehr notwendig. Wenn du über mount.cifs mountest, musst du ein bißchen Vorarbeit leisten. Das erste ist, dass du Verzeichnisse anlegst, die du später als Mountpunkt angibst. Ich hatte weiter oben den Befehl mkdir ~/nas_test angegeben, den du noch nicht abgesetzt hast. Daher die Fehlermeldung. Da du drei Shares hast, könntest du auch 3 lokale Verzeichnisse anlegen. Ich mach mal ein Beispiel:
| mkdir ~/nas_ordner_1
mkdir ~/nas_ordner_2
mkdir ~/nas_ordner_3
|
Danach kannst du einfach über mount.cifs die Shares einbinden. Pro Share jeweils ein mount-Befehl:
| sudo mount -t cifs --verbose -o username=thomas2,password=deinPasswortvonthomas2fürSAMBA,uid=1000 //192.168.1.10/1\ \ \ Theater ~/nas_ordner_1
sudo mount -t cifs --verbose -o username=thomas2,password=deinPasswortvonthomas2fürSAMBA,uid=1000 //192.168.1.10/zweiterOrdner ~/nas_ordner_2
sudo mount -t cifs --verbose -o username=thomas2,password=deinPasswortvonthomas2fürSAMBA,uid=1000 //192.168.1.10/dritterOrdner ~/nas_ordner_3
|
Ich kenne deine IP, deine User und deine Share-Namen nicht. Daher musst du hier die korrekten Werte einsetzen. Ich hoffe es ist verständlich. Danach musst du mal schauen, ob in ~/nas_ordner_1, ~/nas_ordner_2 und ~/nas_ordner_3 der Zugriff mit LibreOffice funktioniert. Wenn ja, liegt es an gvfs.
|
Thomas111
(Themenstarter)
Anmeldungsdatum: 28. Februar 2017
Beiträge: 34
|
Im Server-PC hatte ich den Befehl mkdir ~/nas_test eingegeben, als du es geschrieben hattest. Dadurch wurde im Server-PC der Ordner "nas_test" angelegt. Den habe ich jetzt wieder gelöscht. Dann habe ich im Terminal des Server-PCs eingegeben:
mkdir ~/nas_ordner_theater Dadurch wurde im Server-PC der Ordner "nas_ordner_theater" angelegt. Genau so wie es hier steht, außer die Anführungszeichen. Und danach habe ich im Terminal des Client-PCs folgendes eingegeben. Genau so wie es hier steht, außer Passwort und IP. Du hast noch username in roter Schrift, aber da habe ich nichts anderes reingeschrieben. Also auch genau wie es hier steht.
sudo mount -t cifs --verbose -o username=thomas2,password=meinPasswortvonthomas2fürSAMBA,uid=1000 //192.168.1.10/1\ \ \ Theater ~/nas_ordner_theater Als Ausgabe kam: Couldn't chdir to /home/thomas2/nas_ordner_theater: No such file or directory
Der nas-Ordner ist leer und es funktioniert leider nicht. Warum ging es vorhin? Und warum ging es, nachdem ich einen weiteren Ordner freigegeben habe, dann wieder nicht mehr?
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Thomas111 schrieb: Dadurch wurde im Server-PC der Ordner "nas_ordner_theater" angelegt. Genau so wie es hier steht, außer die Anführungszeichen. Und danach habe ich im Terminal des Client-PCs folgendes eingegeben.
Hier liegt das "Problem". Der Ordner "nas_ordner_theater" muss auf dem Client angelegt werden. Also noch mal: Auf dem Client die Ordner anlegen:
| mkdir ~/nas_ordner_theater
|
Danach auf dem Client die Freigabe einhängen:
| sudo mount -t cifs --verbose -o username=thomas2,password=meinPasswortvonthomas2fürSAMBA,uid=1000 //192.168.1.10/1\ \ \ Theater ~/nas_ordner_theater
|
Dann bitte mal in den Ordner ~/nas_ordner_theater navigieren und schauen, ob die Dateien mit LibreOffice geöffnet werden können.
Der nas-Ordner ist leer und es funktioniert leider nicht. Warum ging es vorhin? Und warum ging es, nachdem ich einen weiteren Ordner freigegeben habe, dann wieder nicht mehr?
Im Moment wollen wir ja klären, ob das Problem an gvfs liegt (das ist der Weg, den du über Nautilus > "Andere Orte" > Server-PC > Ordner 1 > "Als registrierter Benutzer" gehst)
|
Thomas111
(Themenstarter)
Anmeldungsdatum: 28. Februar 2017
Beiträge: 34
|
Ich habe es gemacht, wie von dir beschrieben. Auf dem Client erscheinen jetzt im Ordner "nas_ordner_theater" alle Dateien, die im entsprechenden Ordner auf dem Server-PC sind. Beim Öffnen der Libre-Dateien erscheint dann eine Fehlermeldung (siehe Screenshot). Wenn ich jetzt den Button "Arbeitskopie öffnen" nehme, kann ich die Datei zwar bearbeiten, aber sie hat den Dateinamen "Unbenannt 1". Unterm Strich lande ich also an derselben Stelle wie mit gvfs. Und mit gvfs ist es einfacher, schnell mal einen Ordner freizugeben und die Freigabe wieder aufzuheben. Nach meinem Verständnis geht es hier um irgendwelche Zugriffsrechte, an denen Libre scheitert, andere Programme aber nicht. Das Einhängen und Ansehen der Dateien funktioniert ja problemlos, nur am Bearbeiten scheitert es.
- Bilder
|