Software über Paketverwaltung mit User installieren

  • Ich möchte gerne auf meinem vServer (Debian Squeeze) eine Software per APT unter einem eingerichteten User installieren, allerdings nicht als ROOT. Habe ich eine andere, geschickte Möglichkeit, ausser über sudo? Eigentlich möchte ich keinem User irgendwelche Root-Rechte dauerhaft einräumen. Bei meinem Problem müsste ich also sudo installieren, mit visudo die sudoers editieren, mit dem User die Software installieren, die sudoers wieder in orignal setzen, und sudo wieder deinstallieren. Das macht irgendwie keinen Spass.

    Konkret geht es im Moment um die Server-Dateien von pokerTH. Diese können unter Debian über die Paketverwaltung installiert werden, oder müssen als Quellcode geladen und kompiliert werden. Das Kompilieren habe ich in einer VM mal durchgespielt, aber da habe ich immer wieder irgendwelche Fehler. Daher würde ich gerne die Paketverwaltung nutzen, doch die haut mir die ganzen Serverdateien immer in die Ordner für den ROOT mit den Rechten vom ROOT. Kann man sicherlich auch in mühseeliger Handarbeit korrigieren, aber es könnte ja auch u.U. einfacher sein gleich das Paket unter einem User zu installieren.

    9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die letzte summt ständig die Melodie von Tetris.

  • Das ändert nix an den zugehörigen Daten da ein Paket bei der Installation über einen User nicht "für" den User installiert werden, das ist ja z.B. auch bei einem Desktop Ubuntu nicht so das eine Software die per Software-Center oder APT/Aptitude installiert wird, nur unter diesem User installiert ist.

  • Hmmmm, sagen wir also mal ich versuche ein Paket zu installieren, und bin eingeloggt als Root (damit ich keinem User weitere Rechte einräumen muss). Ich installiere mit "sudo -u user_poker apt-get install pokerth-server" die Server-Dateien von dem pokerTH (hab noch nie probiert auf diese Weise etwas zu installieren, weiss also im Moment noch nicht ob das überhaupt funktioniert). Den User user_poker habe ich selbstverständlich vorher bereits mit Home-Verzeichnis angelegt. Liegen die Dateien dann in den Verzeichnissen vom Root, oder werden die im Home-Verzeichnis vom user_poker installiert? Oder muss ich das Home-Verzeichnis noch in einem Parameter (-H) angeben?

    Ich habe das noch nie probiert, da ich bisher immer alles mit wget oder per SCP laden konnte. Aber in diesem Fall könnte ich nur die Sources laden, bei welchen ich Probleme bei dem Kompilieren habe (abgesehen davon das einige Pakte vor dem Kompilieren installiert werden müssen, die ich nicht dauerhaft auf dem Server haben möchte).

    9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die letzte summt ständig die Melodie von Tetris.

  • Alle Dateien die Du mit apt installierst werden in die Systemverzeichnisse installiert. Serverdienste arbeiten dann unter eigenen Benutzern die apt automatisch anlegt, damit die nicht als root laufen.

    Wenn Du das manuell im eigenen Home Verzeichnis haben willst musste das Paket runter laden ohne es zu installieren und alles manuell einrichten. Das selbe kannst Du auch mit dem Quellcode machen, den Du dann selbst bauen könntest.

  • OK, dann schau ich mir das nochmal ein wenig genauer an. Wenn ich es richtig verstehe, kann ich das Paket ruhig (auch unter Root) installieren, und wenn der Server startet, läuft er unter einem anderen User (nicht als Root).

    Dann kurbel ich heute abend mal wieder die VM an und probiere in der Testumgebung.


    Wäre denn die Vorgehensweise mit "sudo -u user befehl" bei Bedarf in anderen Fällen (nicht apt) eine Alternative zum Ändern der sudoers? Würde das funktionieren?

    9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die letzte summt ständig die Melodie von Tetris.

  • Simpler Vorschlag: Einfach die rpm/deb-Datei als User in einen Ordner entpacken und dann wo da auch weitermachen. Als User kann ja nichts schiefgehen.

    "Security is like an onion - the more you dig in the more you want to cry"