![limits.conf ulimits werden nicht auf chroot-Prozesse angewendet](https://rvso.com/image/1302453/limits.conf%20ulimits%20werden%20nicht%20auf%20chroot-Prozesse%20angewendet.png)
Wir erlauben Benutzern, Skripte auf unseren Servern auszuführen. Unser Sicherheitsmodell sieht Chroot-Beschränkungen vor. Wir möchten in der Lage sein, Ulimit-Beschränkungen auf sie anzuwenden, und der beste Weg, dies zu tun, scheint in/etc/security/limits.conf
Aber es scheint nicht zu funktionieren. Folgendes haben wir eingestellt limits.conf
:
@registered_users - priority 7
@registered_users - nice 7
* - priority 9
* - nice 9
Und in einigen Fällen funktioniert es:
sudo -u testuser python
Ergibt einen Python-Prozess mit Nettigkeit 9 (nicht 7, was ärgerlich ist)
ABER
sudo chroot --userspec=testuser:registered_users python
ergibt einen Python-Prozess mit der Nettigkeit 0.
irgendwelche Hinweise?
Wir haben vergeblich versucht, session required pam_limits.so
zu hinzuzufügen./etc/pam.d/common-session
Antwort1
Die Einstellungen in /etc/security/limits.conf funktionieren innerhalb des Chroots nicht, da es kein Programm gibt, das pam_limits verwendet, um sie festzulegen. Sie funktionieren, wenn Sie sudo verwenden, da die PAM-Konfiguration von sudo pam_limits aufruft.
Die naheliegende Antwort besteht darin, innerhalb des Chroots etwas aufzurufen, das pam_limits verwendet, wie etwa „su“, wie es hier heißt:https://lists.debian.org/debian-user/2010/09/msg01398.html(Sie müssen jedoch die Zeile, die pam_limits in /etc/pam.d/su verwendet, auskommentieren, da sie standardmäßig auskommentiert ist).
Angenommen, Ihr Chroot-Verzeichnis ist /srv/chroot und Sie möchten /usr/bin/python ausführen, könnten Sie Folgendes versuchen:
sudo chroot /srv/chroot su testuser /usr/bin/python
Ich denke, dass es mit sudo auch klappt:
sudo chroot /srv/chroot sudo -u testuser /usr/bin/python
Aber ich kann nur für „su“ sprechen, das ich in einem solchen Fall verwende. Bitte probieren Sie es aus und sagen Sie, ob es bei Ihnen funktioniert hat.