MBreiti
Anmeldungsdatum: 8. Januar 2020
Beiträge: 8
|
Hallo zusammen,
ich bin kein Linux Crack - aber ich versuche mein bestes.
Kurzer Abriss
Der Server ist im AD - die Leute können per ssh mit ihrem AD Account sich connecten.
/etc/security/pam_mount.conf.xml und /etc/pam.d/common-auth Die Anwender können lesen und erstellen - aber nichts löschen oder verschieben. Wie kann ich das lösen ? Danke und Grüße
Marcus
|
Cranvil
Anmeldungsdatum: 9. März 2019
Beiträge: 990
|
Hallo MBreiti und Willkommen im Forum, bitte gib uns mehr Informationen zu deiner Konfiguration. Welches Betriebssystem hast du hier angegeben, das vom Server oder den Clients? Oder anders gefragt: Welches Betriebssystem läuft auf dem Server, der die Freigaben bereitstellt und welches auf den Clients? Falls vorhanden, können dieselben Benutzer von einem Windows-Client aus löschen oder verschieben? Und wo wir gerade dabei sind: Du kannst von dort aus notfalls auch direkt in den Erweiteren Berechtigungen nachschauen, ob diese Benutzerkonten (bzw. die zugehörigen Gruppen) überhaupt die entsprechenden Rechte besitzen. Da ich davon ausgehe, dass es an den ACL liegt, kannst du dir diese mit z.B. getfacl unter Linux bzw. cacls anzeigen lassen und überprüfen, ob die entsprechenden Berechtigungen angezeigt werden.
|
MBreiti
(Themenstarter)
Anmeldungsdatum: 8. Januar 2020
Beiträge: 8
|
Hallo Cranvil, sorry.
Das OS ist das des Servers. Die Leute greifen per SSH auf diesen Server zu, lassen dort Programme laufen unter ihrem AD user Account, mit dem sie sich auch angemeldet haben. Das Fileshare ist ein "Windows" Fileshare mit einer Berechtigungsstruktur.
Ich sehe auch, dass die Anwender Dateien offen haben - mit ihrem AD Account.
Sie können auf diesem Fileshare auch Dateien / Ordner erstellen, aber nicht löschen oder verschieben.
Von einem Windows Client geht das auf dem Fileshare. Kann ich mir mit getfacl die "Windowsgruppen" anzeigen lassen ?
Bei mir liefert es irgendwie nur so was user::rwx
group::r-x
other::r-x wobei EQ ein Verzeichnis ist. Bei einer Datei ist das Ergebnis auch so. Ich kann aber per Windows sehen, dass dort noch viele weitere Gruppen berechtigt sind, nicht nur die angezeigte GRUPPENNAME.
Wobei diese Gruppe schon Vollzugriff hat.
|
Cranvil
Anmeldungsdatum: 9. März 2019
Beiträge: 990
|
MBreiti schrieb: Kann ich mir mit getfacl die "Windowsgruppen" anzeigen lassen ?
Bei mir liefert es irgendwie nur so was
# file: EQ
# owner: NAME
# group: GRUPPENNAME
user::rwx
group::r-x
other::r-x
Dem Anschein nach kommen hier nur die normalen Berechtigungen durch und nicht die erweiterten. Mit welchen Optionen stellst du die Verbindung her? Also wie sehen /etc/fstab, der mount-Befehl oder sonstige Methoden aus, die du zur Verbindung des Netzlaufwerks verwendest?
|
MBreiti
(Themenstarter)
Anmeldungsdatum: 8. Januar 2020
Beiträge: 8
|
cranvil relativ wenig angepasst /etc/security/pam_mount.conf.xml <volume user="*" fstype="cifs" server="servername" path="Freigabe" mountpoint="/mnt/Freigabe" /> angepasst /etc/pam.d/common-auth auth optional pam_mount.so mehr nicht
|
Cranvil
Anmeldungsdatum: 9. März 2019
Beiträge: 990
|
Ein allgemeiner Tipp fürs Forum hier: Mach dich mit Syntax vertraut - insbesondere den Codeblöcken. Damit kannst du deine Beiträge nicht nur aufhübschen sondern auch deutlich machen, wo dein normaler Text steht und wo z.B. Inhalte von Konfigurationsdateien stehen. Das macht das Lesen von Beiträgen gleich viel angenehmer. 😉 Kannst du uns die Ausgabe von
zukommen lassen? Am liebsten nur die Zeile für /mnt/Freigabe bzw. die gemappten Freigaben, die nicht funktionieren. Welches Windows läuft auf deinem Server?
|
MBreiti
(Themenstarter)
Anmeldungsdatum: 8. Januar 2020
Beiträge: 8
|
Hallo cranvil //FILESERVER/FREIGABE on /mnt/QAM type cifs (rw,relatime,vers=2.1,cache=strict,username=USER,domain=,uid=5000,forceuid,gid=5349,forcegid,addr=192.168.5.1,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)
tmpfs on /run/user/5000 type tmpfs (rw,nosuid,nodev,relatime,size=1642568k,mode=700,uid=5000,gid=5349)
Die anderen User und lokales habe ich mal nicht eingefügt oder wäre das noch wichtig ?
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Mal zum Verständnis:
es gibt einen Windows Server, der eine Freigabe bereitstellt (//FILESERVER/FREIGABE == wahrscheinlich mit der IP 192.168.5.1) es gibt einen Ubuntu Server 18.04, der die Freigabe vom Windows Server unter /mnt/QAM einbindet die Benutzer greifen per SSH auf den Ubuntu Server 18.04 und dann auf den Share zu
Wieso nimmst du nicht den direkten Weg, sprich das sich die Benutzer direkt mit dem Windows Server verbinden? Darüber hinaus: Die Rechte von Samba können grundsätzlich nur entzogen werden. D.h. Rechte, die nicht schon auf der ursprünglichen Freigabe vorhanden sind, können auch nicht mit Samba hinzugefügt werden.
Dein Problem klingt eher so, als ob schon auf dem Windows Server die Benutzer nur die NTFS Rechte für Lesen und Schreiben haben, nicht jedoch Ändern. Schau mal hier.
|
MBreiti
(Themenstarter)
Anmeldungsdatum: 8. Januar 2020
Beiträge: 8
|
Hallo chr123 Punkt 1 korrekt
Punkt 2 korrekt
Punkt 3 korrekt
Wieso nimmst du nicht den direkten Weg, sprich das sich die Benutzer direkt mit dem Windows Server verbinden?
Wie meinst du das ? Das der Benutzer auf dem Ubuntu sich verbindet mit seinem User ? benötigt er dann nicht "sudo" Rechte ? Auf dem Windowsserver sind die Rechte korrekt gesetzt, da die verschiedenen Abteilung damit schon längere Zeit arbeiten.
(Windows Clients - Windows Fileshare). Da ist wegen dem Ubuntuserver auch nichts dazu gekommen oder entfernt worden.
Die Rechte dort basieren auf AD Gruppen - read / write etc. je nach Gruppe. Die Ubuntu Anwender haben auf dieses Share RWXD Rechte - im Windows können sie erstellen / löschen / verschieben.
Über Ubuntu nur erstellen - nicht löschen. Nun nutzen die Anwender aber diesen Ubuntuserver für R Berechnungen / Python etc., was sie schon auf ihren Windowsclients benutzt haben, nun nur eben so, dass der Server die Arbeit macht. Ich bin kein Programmierer, Pyhton , R etc. -
Viele Daten liegen aber auf diesem Fileshare. Ich bin auch kein Ubuntu Administrator - ich bin da "reingefallen" Wichtig ist, dass der Anwender mit seinem ActiveDirectory Account auf das Share zugreift.
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
MBreiti schrieb: Wieso nimmst du nicht den direkten Weg, sprich das sich die Benutzer direkt mit dem Windows Server verbinden?
Wie meinst du das ? Das der Benutzer auf dem Ubuntu sich verbindet mit seinem User ? benötigt er dann nicht "sudo" Rechte ?
In einem Windows AD gibt es i.d.R. folgende Servertypen:
Wenn ich dich jetzt richtig verstehe, hast du Benutzer auf dem Ubuntuserver angelegt. Diese werden u.a. für Berechnung und Python benötigt. Die dafür notwendigen Dateien liegen auf dem Windows Share, deswegen muss der Share unter Ubuntu eingebunden werden. Ok, das war die Information die ich nicht rausgelesen hatte.
Auf dem Windowsserver sind die Rechte korrekt gesetzt, da die verschiedenen Abteilung damit schon längere Zeit arbeiten.
Ok, dann muss das Problem tatsächlich nur bei Ubuntu liegen.
(Windows Clients - Windows Fileshare). Da ist wegen dem Ubuntuserver auch nichts dazu gekommen oder entfernt worden.
Die Rechte dort basieren auf AD Gruppen - read / write etc. je nach Gruppe. Die Ubuntu Anwender haben auf dieses Share RWXD Rechte - im Windows können sie erstellen / löschen / verschieben.
Über Ubuntu nur erstellen - nicht löschen.
Ok. Mir fallen jetzt noch verschiedene Möglichkeiten, die wir durchtesten können. Das einfachste wäre erstmal zu gucken, ob extended ACL überhaupt bei dir gesetzt sind (Link):
| testparm -vs | egrep 'vfs|inherit|store'
|
Beachte auch den Hinweis: Do not set additional share parameters, such as force user. Adding them to the share definition can prevent you from configuring or using the share.
|
MBreiti
(Themenstarter)
Anmeldungsdatum: 8. Januar 2020
Beiträge: 8
|
Hallo chr123 Vielen Dank. hier erst mal die Ausgabe 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 | testparm -vs | egrep 'vfs|inherit|store'
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_DOMAIN_MEMBER
inherit acls = No
inherit owner = no
inherit permissions = No
map acl inherit = No
ntvfs handler = unixuid, default
store dos attributes = No
vfs objects =
|
Diese Option | vfs objects = acl_xattr
map acl inherit = yes
|
Habe ich nicht in der smb.conf
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
Sorry, ich hatte einen Gedankenfehler. Der Ubuntuserver stellt ja selber keine Freigabe bereit, sondern bindet nur eine Freigabe ein. Von daher sollte die smb.conf nicht direkt relevant sein. Kannst du bitte mal folgendes testen: Einbinden des Shares mittels mount.cifs. Dazu: Einen mount Punkt erzeugen
| sudo mkdir -p /opt/freigabe
|
Anschließend den Share einbinden:
| sudo apt install cifs-utils ##ggf. noch das Paket cifs-utils installieren
sudo mount -t cifs --verbose -o vers=2.1,username=USER,uid=5000,gid=5349 //FILESERVER/FREIGABE /opt/freigabe #mounten mit verbose Ausgabe
grep 5000 /etc/passwd #Kontrolle, ob der Benutzer 5000 überhaupt existiert
grep 5349 /etc/group #Kontrolle, ob die Gruppe 5349 existiert
|
Erstelle mal eine Testdatei auf dem Windows Share. Anschließend lösche diese mit dem Benutzer 5000 auf dem Ubuntuserver im Terminal.
| su DER-BENUTZERNAME-VON-5000 #hier noch den echten Benutzernamen von der id 5000 angeben
rm /opt/freigabe/DEINE-TEST-DATEI
|
Ich erhoffe mir durch die Ausgabe im Terminal, dass wir evtl. Fehlermeldungen lesen können.
|
MBreiti
(Themenstarter)
Anmeldungsdatum: 8. Januar 2020
Beiträge: 8
|
chr123 Hallo, also | grep 5000 /etc/passwd #Kontrolle, ob der Benutzer 5000 überhaupt existiert
grep 5349 /etc/group #Kontrolle, ob die Gruppe 5349 existiert
|
brachte kein Ergebnis Aber - nachdem ich alles gemacht habe
und | rm /opt/freigabe/DEINE-TEST-DATEI
|
durchgeführt habe - wurde die Datei auch gelöscht. D.h. muss ich für jeden User | sudo mount -t cifs --verbose -o vers=2.1,username=USER,uid=5000,gid=5349 //FILESERVER/FREIGABE /opt/freigabe
|
das machen - was im Moment nicht so wild ist, da es sich in Grenzen hält ? Danke und Grüße
|
chr123
Anmeldungsdatum: 19. Juli 2018
Beiträge: 1632
|
MBreiti schrieb: D.h. muss ich für jeden User das machen - was im Moment nicht so wild ist, da es sich in Grenzen hält ?
Naja, wenn es mit mount.cifs funktioniert und mit pam_mount nicht, dann muss das Problem wohl an pam_mount liegen. Das werde ich aber voraussichtlich erst am Wochenende mal testen können. Bis dahin würde der Workaround wohl gehen. Was mich aber am meisten irritiert ist folgendes: MBreiti schrieb: //FILESERVER/FREIGABE on /mnt/QAM type cifs (rw,relatime,vers=2.1,cache=strict,username=USER,domain=,uid=5000,forceuid,gid=5349,forcegid,addr=192.168.5.1,file_mode=0755,dir_mode=0755,soft,nounix,serverino,mapposix,rsize=1048576,wsize=1048576,echo_interval=60,actimeo=1)
tmpfs on /run/user/5000 type tmpfs (rw,nosuid,nodev,relatime,size=1642568k,mode=700,uid=5000,gid=5349)
MBreiti schrieb: | grep 5000 /etc/passwd #Kontrolle, ob der Benutzer 5000 überhaupt existiert
grep 5349 /etc/group #Kontrolle, ob die Gruppe 5349 existiert
|
brachte kein Ergebnis
Die Freigaben werden lokal mit der User id 5000 und der Gruppen id 5349 eingehangen. Diese beiden id's sind jedoch nicht in deinem System vorhanden. Kannst du mal gucken, was das sein könnte? Vielleicht bringt ein Blick in das journal etwas brauchbares:
| journalctl --system | egrep '5000|5349'
|
|
MBreiti
(Themenstarter)
Anmeldungsdatum: 8. Januar 2020
Beiträge: 8
|
Hallo chr123 Dieser grep liefert mir sehr sehr viel Zeug
aber nur kernel - pci Meldungen.
|