"Slave" -Benutzerkonten in GNU / Linux

585
Vi.

Wie ein Benutzerkonto zu machen zu sein, wie rootfür einige anderen Benutzerkonten, zB in der Lage sein, zu lesen, schreiben, chmod all seine Dateien, chown von diesem Konto zu meistern und zurück, töten / ptrace alle seine Prozesse und an alle denken rootkönnen, aber nur auf dieses slaveKonto beschränkt?

Jetzt simuliere ich das, indem ich dem "Master" -Benutzer die sudo -u slaveuserEinstellung erlaube setfacl -dRm u:masteruser:rwx ~slaveuser.

Dies ist nützlich, da ich die meisten Desktop-Programme in separaten Benutzerkonten ausführen kann. Manchmal müssen jedoch Dateien zwischen ihnen verschoben werden.

Wenn ein einfacher Kernel-Patch erforderlich ist, ist er in Ordnung.

PS-Tag "selinux" bedeutet nicht, dass ich es mit SELinux lösen möchte, es ist nur etwas verwandt.

1
Nicht per se Siehe SELinux. Ignacio Vazquez-Abrams vor 13 Jahren 0
@ Ignacio Vazquez-Abrams, Kann SELinux es einfach tun (ohne Eingriffe in viele andere Dinge oder mit komplexen Konfigurationsdateien)? Vi. vor 13 Jahren 0
Warum geben Sie dem Benutzer nicht einfach sudo Zugriff? Dann können sie Root-Befehle nach Belieben ausführen, indem sie einfach sudo vor ihnen eingeben (es fordert sie dazu auf, ihr eigenes Passwort einzugeben). Dies ist eine viel normalere Lösung. Es wird generell nicht empfohlen, Desktop-Programme als root oder mit root-Privilegien auszuführen. Wenn für Ihre Desktopanwendungen bestimmte Berechtigungen für bestimmte Dateien erforderlich sind, sollten Sie dies speziell einrichten. Jarvin vor 13 Jahren 0
Mit SELinux wird es nicht trivial sein. Es bietet lediglich die Möglichkeit, Ihr System zum Laufen zu bringen. Ignacio Vazquez-Abrams vor 13 Jahren 0
@ Dan Schlechter Kommentar. Der Hauptbenutzer kann bereits "sudo" (nicht zum Root-Konto, sondern zum Erstellen von Konten). Die Programme führen bereits separate Konten ohne Rootberechtigung aus. Aber es sollte ein Konto geben, um sie alle zu regieren. Ich möchte nicht, dass dieses "One Account" root ist, da ich dort auch einige Programme ausführen kann. Vi. vor 13 Jahren 0

1 Antwort auf die Frage

0
Gilles

Das herkömmliche Unix-Sicherheitsmodell unterstützt einfach nicht das, was Sie wollen. rootkann alles, und alle anderen Benutzer werden gleich erstellt. Komplexe Beziehungen zwischen Benutzern erfordern in der Regel viel Arbeit root.

Ein möglicher Ansatz besteht darin, Ihr eigenes Linux-System in einer virtuellen Maschine neu zu erstellen, entweder mit einem Linux-on-Linux-Ansatz wie User Mode Linux oder VServer oder mit einer generalistischen virtuellen Maschine wie qemu / kvm oder Virtualbox. Innerhalb der VM hätten Sie Root-Zugriff und könnten jede Anwendung bequem als einen anderen Benutzer ausführen.

Sie können sogar jede Anwendung in einer separaten virtuellen Maschine ausführen (VServer ist dafür wahrscheinlich am besten geeignet). Das OLPC-Projekt (ein Laptop pro Kind) hat es ausprobiert und fand die Leistung zufriedenstellend, verwarf jedoch später die Idee. Ich weiß nicht warum (vielleicht war das Teilen von Daten zwischen Anwendungen zu umständlich?).