Schreibrechte auf lokalen Mountpoints von Unpriviligierten Containern

n1ete

New Member
Feb 26, 2017
16
1
1
40
Ich habe eine PVE5 mit ZFS Media Pool auf diesen würde ich gerne von mehreren Containern zugreifen
Dazu habe ich lokalen mountpoints direkt in die container gemappt.
Nur das UID+GUID Mapping, wie in der Doku beschrieben kriege ich noch nicht hin. Würde mich hier über step-by-step hilfestellung freuen.

User und Group IDs fangen bei mir ab 150000000 an
Passende User mit richtiger ID auf dem PVE Host sind eingerichtet.

Kann ich die mountpoints nicht an bestimmte UIDS forcieren

sodass der container sobald auf den mountpoints geschrieben wird immer unter ein er bestimmten uid geschrieben wird?

thanks an die pros hier ;)
 
Last edited:
Hab hier überall LDAP laufen, damit ist das kein Problem. Somit muss nix herum gemappt werden. Konnte es damit einfach über die Config einbinden. Z.B.
Code:
mp0: /v-machines/home/Data1,mp=/Data1,replicate=0
 
Ich benutze ebenfalls FreeIPA als IDM lösung mit Kerberos Authentifizierung und mounte die Mountpoints von mp0 - mp5 in die Container. Das klappt auch und ich sehe die Mountpoints in den Containern..... bekomme nur trotzdem keine schreibrechte.
wie sieht denn bei dir ein ls -la vom host auf /v-machines/home/Data1 bei dir aus? und wie im container?

kannst du ein paar mehr details zu deinem setup schildern?
 
Last edited:
wie sieht denn bei dir ein ls -la vom host auf /v-machines/home/Data1 bei dir aus? und wie im container?
Host:
Code:
drwxrwx---+ 5 root dokumente 14 Jan 31 23:11 /v-machines/home/Data1

Vom Container:
Code:
drwxrwx---+ 5 root dokumente 14 Jan 31 23:11 /Data1

Zum Setup gibt es nichts besonderes zu sagen. Der Host so wie die Container hängen am gleichen LDAP.
 
Der Container läuft unprivilegiert, sodass es ein Remapping der UIDs gibt? Kannst du die Ausgabe der beiden Kommandos noch mit -n ausführen, dass wir die IDs sehen?
 
  • Like
Reactions: n1ete
Host:
Code:
drwxrwx---+ 5 root dokumente 14 Jan 31 23:11 /v-machines/home/Data1

Vom Container:
Code:
drwxrwx---+ 5 root dokumente 14 Jan 31 23:11 /Data1

Zum Setup gibt es nichts besonderes zu sagen. Der Host so wie die Container hängen am gleichen LDAP.

Bist du sicher das du unpriviligierte Container verwendest?

Sind die LDAP User auf dem HOST System überhaupt nötig, wenn ich mit meinen LDAP Usern direkt im Container zugriff auf die MountPunkte habe?
 
Bist du sicher das du unpriviligierte Container verwendest?
Nein hab ich nicht, hab da drüber gelesen. Teste es aber gerne hier auch mit nem unpriviligierten Container aus.

Sind die LDAP User auf dem HOST System überhaupt nötig, wenn ich mit meinen LDAP Usern direkt im Container zugriff auf die MountPunkte habe?
Wenn du nur von den Containeren zugreifst nicht. Wird hier aber auch direkt vom Host zugegriffen mit Samba, SSH und NFS.
 
Nein hab ich nicht, hab da drüber gelesen. Teste es aber gerne hier auch mit nem unpriviligierten Container aus.


Wenn du nur von den Containeren zugreifst nicht. Wird hier aber auch direkt vom Host zugegriffen mit Samba, SSH und NFS.

wie managest du dann die zugriffe auf dem host? packst du den ldap user übers webui z.b. dann in die Gruppe dokumente?

Wie du dem threadtitel entnehmen kannst geht es bei mir um unpriviligierte container, von denen ich dann dienste wie, samba/nfs/streaming laufen lasse. In diesen mounte ich mein ZFS Datenpool via mp* in der LXCID.conf . Die IDS werden in meinem Fall umgemappt
So habe ich einen zusätzlichen Sicherheitslayer zwischen Containern und host und Mounte nicht direkt vom Host.

Aber ich glaube hier liegt irgendwo mein Problem...

Habe keine Schreibrechte mit den ldap Usern (bei mir in FreeIPA ID ab 150000000) im Container auf den Mountpoints da diese nicht korrekt durchgemappt werden (ist zumindest meine vermutung).

es gibt nen wiki eintrag zum mappen= https://pve.proxmox.com/wiki/Unprivileged_LXC_containers
verstehs allerdings nicht ganz bzw. bekomms nicht hin.

Kann mir jemand ein Beispiel Posten was ich machen müsste damit ich zb alle ids von 15000000-10000100 korrekt durchmappe?
 
Bei mir (ohne spezielle Einstellung diesbezüglich) bekommen alle unprivilegierten Container immer die gleichen UID, sodass du beim Anhängen an mehrere Container eigentlich nur alle im unprivilegierten Zustand sein sollten und dann musst du darin die Berechtigungen setzen. Ist eigentlich genau das was @fireon schon gesagt hat, nur dass du es aus den Containern heraus machen musst.

Zum Umstellen kannst du find verwenden (hier aus dem Kopf geschrieben, also nochmal prüfen):

Code:
find <path> -uid 1000 -exec chown 1000000 {} \;

das musst du natürlich für alle uids machen, die du aber auch via find herausbekommst
 
  • Like
Reactions: n1ete and fireon