[SOLVED] HDD mount in unprivilegierten LXC Container

andy66

Member
Jun 10, 2020
21
2
8
23
Guten Morgen allerseits

Hier und auch generell, habe ich einiges dazu gelesen. Ebenfalls habe ich mir die Doku studiert, aber ich verstehe das ganze leider nicht so richtig. Bei mir lief vorher ein Proxmox 5.x, in welchem ich ausschliesslich privilegierte Container betrieben habe. Nachdem ich auf Proxmox 6.x geupgraded habe, sowie alle meine LXC Container von Debian Stretch auf Debian Buster aktualisiert habe, nutzte ich die Gelegenheit noch, alle Container unprivilegiert zu machen. Das funktioniert auch einwandfrei, bis auf zwei Container, in welche ich vom Host aus jeweils eine HDD mounte. Gebe ich den Daten und Verzeichnissen auf der HDD volle Schreib- und Leserechte (chmod 0777), kann ich auch auf die Daten zugreifen und diese ändern im LXC. Leider Muss ich im LXC selber die Datei- und Verzeichnisrechte anpassen können (chmod 0770), was so nicht geht. Zudem haben in den LXC Containern die Dateien und Verzeichnisse, die Gruppe und Eigentümer "nouser:nogroup".
Nun meine Frage, kann mir das jemand auf einfachere Weise erklären, wie ich dieses Problem lösen kann, ohne wieder auf privilegierte Container wechseln zu müssen (Falls dies so möglich ist)?

Vielen Dank schon im voraus für die Hilfestellungen :)

Freundliche Grüsse
 
hi,

Nun meine Frage, kann mir das jemand auf einfachere Weise erklären, wie ich dieses Problem lösen kann, ohne wieder auf privilegierte Container wechseln zu müssen (Falls dies so möglich ist)?

bei unpriviligierten containers werden die uids/gids von innerhalb des containers nach draussen gemappt, z.b. root:0:0 innerhalb des CT wird uid 100000 (default), d.h. ein nicht priviligierter user.

da musst du auf deinem PVE host (wo die HDD gemountet ist) die owners von dem file setzen, nach uid 100000 z.b.

dann wirst du innerhalb des CT die "richtige" owners sehen koennen.
 
  • Like
Reactions: treki and andy66
Vielen Dank für deine Antwort. Okay, also ich muss nur am Host die Verzeichnis- und Dateirechte der Verzeichnisse auf der gemounteten Platte ändern, damit das dann auch passt und das ist alles?
Ich weiss nicht, ob es ev. noch etwas damit zu tun hat, dass ich die privilegierten Container in unprivilegierte konvertiert habe. Ich habe das für jeden Container so nach dieser Anleitung gemacht...hoffe das war auch richtig so, bzgl. den Rechten.
 
Vielen Dank für deine Antwort. Okay, also ich muss nur am Host die Verzeichnis- und Dateirechte der Verzeichnisse auf der gemounteten Platte ändern, damit das dann auch passt und das ist alles?
ja sollte passen

Ich weiss nicht, ob es ev. noch etwas damit zu tun hat, dass ich die privilegierten Container in unprivilegierte konvertiert habe. Ich habe das für jeden Container so nach dieser Anleitung gemacht...hoffe das war auch richtig so, bzgl. den Rechten.
nein, diese wuerde auch passieren wenn du den CT durch backup/restore umgewandelt haettest. du musst einfach die uid/gid von den files auf dem host ins richtige setzen damit die owners innerhalb des CT richtig erscheinen. so quasi chown -R 100000:100000 /path/zu/deiner/hdd setzt alle files fuer den root user des CT
 
  • Like
Reactions: andy66
Alles klar, nun verstehe ich die Logik dahinter auch. Eine letzte Frage habe ich aber noch, ist die root UID/GID für jeden Container, aus Sicht des Hosts, immer 100000:100000? Bzw. kann man sich die verschiedenen Benutzer & Gruppen der LXC's auf dem Host irgendwo anschauen, also welcher LXC User / Group auf welche UID/GID auf dem Host gemapped ist?
 
  • Like
Reactions: andy66
Hat wunderbar geklappt, vielen herzlichen Dank für die Hilfe!! Wenn man das Prinzip und die Funktionsweise verstanden hat, ist es eigentlich gar keine so grosse Sache, Top! :)

Freundliche Grüsse
 
  • Like
Reactions: oguz
Ich hänge mich mal hier an ^^
Habe einen Container (103) zu unprivilegiert geändert.
Habe ein mergerFS gemountet.
Die Verzeichnisse darin auf 100000:100000 gesetzt (Hostseitig).
Nun kann ich als root im lxc reinschreiben (per SFTP). Ich muss aber im Container den Besitzer auf 2001:2001 wechseln. Momentan ist das 0:0
Wenn ich aber im (Container)Terminal
chown -R 2001:2001 /home/daten
eingebe (als root) kommt:
chown: changing ownership of '/home/daten': Operation not permitted
Was stimmt da noch nicht?

In der 103.conf des Containers hab ich unter Anderem:
mp0: /mnt/virt/daten,mp=/home/daten,ro=0,shared=1
mp1: /mnt/virt/backup,mp=/home/backup,ro=0,shared=1


In der config von 103:
lxc.idmap = u 0 100000 65536
lxc.idmap = g 0 100000 65536
 
Last edited:
Update:
Musste chown -R 102001:102001 /mnt/virt/daten und chmod -R 777 /mnt/virt im Host machen.
Im Container geht das nicht.
Nun zappelt es.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!