Eingeschränkter Root-Account
Hallo Liste, ich benötige für einen externen Zugang einen Root-Account mit eingeschränkten Rechten. Habe das Ganze mal flappsig mit einem User mit 0-UID in der passwd eingerichtet, aber das ist ja eher nicht das wahre vom Ei. An sich soll der Account folgendes können: -In /etc/init.d die Services durchstarten -Und einen Reboot des System absetzen Kommandos wie ssh/scp und vor allem rm sollten gesperrt sein. Hatte dafür mal mit der lShell experimentiert, habe aber schnell festgestellt, dass man ohne Root-Rechte keinen Service durchstarten kann. Gibt es zu 0-UID, sudo und lshell noch andere Alternativen ? -- kind regards, Jens Strohschnitter ----------------------------------------- LINUX LINUX LINUX LINUX LINUX LINUX LINUX Set the controls for the heart of the sun LINUX LINUX LINUX LINUX LINUX LINUX LINUX ----------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Donnerstag, den 18.03.2010, 14:32 +0100 schrieb Jens Strohschnitter:
Gibt es zu 0-UID, sudo und lshell noch andere Alternativen ?
Ich würde es mal mit Gruppenrechte probieren. D.h., dass die Programme, die von diesen User ausgeführt werden dürfen, in eine Gruppe zu packen und den betreffenden User Mitglied dieser Gruppe wird. Bye Michael -- So so is good, very good, very excellent good: and yet it is not; it is but so so. -- William Shakespeare, "As You Like It" _________________________________________________________________________ http://macbyte.info/ Loadavg.: 0.00 0.01 0.06 http://dattuxi.de/ Registered Linux User #228306 Linux 2.6.31-20-generic ICQ #151172379 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Gibt es zu 0-UID, sudo und lshell noch andere Alternativen ?
Ich würde es mal mit Gruppenrechte probieren. D.h., dass die Programme, die von diesen User ausgeführt werden dürfen, in eine Gruppe zu packen und den betreffenden User Mitglied dieser Gruppe wird.
Hi, das hatte ich mal probiert. Den User in die Gruppe root zugefügt, das hat aber leider nicht gereicht. Permission denied. Zudem würde das nicht mein Problem mit der Einschränkung (rm / ssh sperren) lösen. Ich denke um soduusers komme ich wohl nicht drum herum, was ?! -- kind regards, Jens Strohschnitter ----------------------------------------- LINUX LINUX LINUX LINUX LINUX LINUX LINUX Set the controls for the heart of the sun LINUX LINUX LINUX LINUX LINUX LINUX LINUX ----------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Von: Jens Strohschnitter
Hallo Liste, Hallo,
ich benötige für einen externen Zugang einen Root-Account mit eingeschränkten Rechten. Habe das Ganze mal flappsig mit einem User mit 0-UID in der passwd eingerichtet, aber das ist ja eher nicht das wahre vom Ei.
An sich soll der Account folgendes können:
-In /etc/init.d die Services durchstarten -Und einen Reboot des System absetzen
Kommandos wie ssh/scp und vor allem rm sollten gesperrt sein.
Hatte dafür mal mit der lShell experimentiert, habe aber schnell festgestellt, dass man ohne Root-Rechte keinen Service durchstarten kann.
Gibt es zu 0-UID, sudo und lshell noch andere Alternativen ?
Ich würde das via /etc/sudoers klären. Für die RC-Scripte kannst du, soweit mir bekannt auch Platzhalter setzen (rc*), damit du nicht jedes "rc<irgendwas> in visudo eintippen musst ;) Gruß Renate -- GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Jens, Renate Neike schrieb:
Von: Jens Strohschnitter
Hallo Liste, Hallo, ich benötige für einen externen Zugang einen Root-Account mit eingeschränkten Rechten.
Ich würde das via /etc/sudoers klären. Für die RC-Scripte kannst du, soweit mir bekannt auch Platzhalter setzen (rc*), damit du nicht jedes "rc<irgendwas> in visudo eintippen musst ;)
Wenn Du es richtig machen willst nimm *sudo*! -- Gruß Axel ------------------------------ => einen Server härten? google mal nach Stahl härten oder was meinst Du mit härten? Aus: http://www.administrator.de/index.php?content=69906 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Von: Axel Birndt
[...] Wenn Du es richtig machen willst nimm *sudo*!
Genau. Das wäre dann die Folge nach dem Eintragen in der sudoers mit dem IMHO charmanten Vorteil, dass keine PW-Abfrage kommt. Gruß Renate -- GMX DSL: Internet, Telefon und Entertainment für nur 19,99 EUR/mtl.! http://portal.gmx.net/de/go/dsl02 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Renate, Renate Neike schrieb:
Von: Axel Birndt
[...] Wenn Du es richtig machen willst nimm *sudo*! Genau. Das wäre dann die Folge nach dem Eintragen in der sudoers mit dem IMHO charmanten Vorteil, dass keine PW-Abfrage kommt.
Nö! Mit der PW Abfrage hat das nix zu tun. Das PW des Users wird immer dann abgefragt, wenn *nicht* "NOPASSWD" für den entsprechenden Befehl gesetzt ist. Wenn Beispiele gewünscht sind... einfach melden. (sudo kann ich fast fließend sprechen und schreiben ;-) ) -- Gruß Axel ------------------------------ => einen Server härten? google mal nach Stahl härten oder was meinst Du mit härten? Aus: http://www.administrator.de/index.php?content=69906 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Genau. Das wäre dann die Folge nach dem Eintragen in der sudoers mit dem IMHO charmanten Vorteil, dass keine PW-Abfrage kommt.
Wenn Beispiele gewünscht sind... einfach melden. (sudo kann ich fast fließend sprechen und schreiben ;-) )
Jau, das Angebot nehme ich dankend an. Habe mit sudo bisher nichts gemacht (ausser eben aufgerufen ;-)) An sich müsste meine Config recht flach sein. /etc/init.d und Programmaufrufe aus /sbin müssen möglich sein. rm und ssh/rsh Kommando noch explizit sperren und das sollte es gewesen sein. Aber auch die größten Projekte scheitern letztendlich an einer fehlenden Steckdose ;-) -- kind regards, Jens Strohschnitter ----------------------------------------- LINUX LINUX LINUX LINUX LINUX LINUX LINUX Set the controls for the heart of the sun LINUX LINUX LINUX LINUX LINUX LINUX LINUX ----------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Jens, Jens Strohschnitter schrieb:
das Angebot nehme ich dankend an. Habe mit sudo bisher nichts gemacht (ausser eben aufgerufen ;-)) An sich müsste meine Config recht flach sein. /etc/init.d und Programmaufrufe aus /sbin müssen möglich sein. rm und ssh/rsh Kommando noch explizit sperren und das sollte es gewesen sein. Bitte noch mal genau (eins pro Zeile) aufschreiben *was erlaubt* ist. Dann versuch ich mal ein Beispiel zu machen
-User: -Kommandos: -- Gruß Axel ------------------------------ => einen Server härten? google mal nach Stahl härten oder was meinst Du mit härten? Aus: http://www.administrator.de/index.php?content=69906 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Thu, 18 Mar 2010 15:50:25 +0100
Axel Birndt
Hallo Jens,
Jens Strohschnitter schrieb:
das Angebot nehme ich dankend an. Habe mit sudo bisher nichts gemacht (ausser eben aufgerufen ;-)) An sich müsste meine Config recht flach sein. /etc/init.d und Programmaufrufe aus /sbin müssen möglich sein. rm und ssh/rsh Kommando noch explizit sperren und das sollte es gewesen sein. Bitte noch mal genau (eins pro Zeile) aufschreiben *was erlaubt* ist. Dann versuch ich mal ein Beispiel zu machen
-User:
-Kommandos:
Hi, schon im Vorfeld vielen Dank für Deine Bemühungen! - User: telonic - Kommandos: In /etc/init.d alle Skripte restarten können (also bspw. /etc/init.d/lpd restart) /sbin/shutdown -r 0 - Kommandos die nicht ausgeführt werden dürfen: rsh ssh sftp rm /sbin/shutdown -h 0 -> nur als goodie ! -- kind regards, Jens Strohschnitter ----------------------------------------- LINUX LINUX LINUX LINUX LINUX LINUX LINUX Set the controls for the heart of the sun LINUX LINUX LINUX LINUX LINUX LINUX LINUX ----------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Thu, 18 Mar 2010 15:56:29 +0100
schrieb Jens Strohschnitter
- User: telonic
- Kommandos: In /etc/init.d alle Skripte restarten können (also bspw. /etc/init.d/lpd restart)
Mein Beispiel für die rc-Scripte ((fast) alle Scripte unter /etc/init.d haben einen Link nach /usr/sbin ;) ) telonic ALL = NOPASSWD: /usr/sbin/rc* Damit kann dein User mit "sudo rcsmb restart" zum Beispiel den Samba-Server ohne PW-Eingabe restarten. Wenn das mit ohne PW nicht gewünscht ist, dann lässt du halt das "NOPASSWD" weg.
/sbin/shutdown -r 0
telonic ALL = NOPASSWD: /sbin/shutdown -r now Gruß Renate -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Moin Jens, Jens Strohschnitter schrieb:
On Thu, 18 Mar 2010 15:50:25 +0100 Axel Birndt
wrote: Jens Strohschnitter schrieb:
das Angebot nehme ich dankend an. Habe mit sudo bisher nichts gemacht (ausser eben aufgerufen ;-)) An sich müsste meine Config recht flach sein. ... Bitte noch mal genau (eins pro Zeile) aufschreiben *was erlaubt* ist. Dann versuch ich mal ein Beispiel zu machen ... schon im Vorfeld vielen Dank für Deine Bemühungen!
- User: telonic
- Kommandos: In /etc/init.d alle Skripte restarten können (also bspw. /etc/init.d/lpd restart) /sbin/shutdown -r 0
- Kommandos die nicht ausgeführt werden dürfen: rsh ssh sftp rm /sbin/shutdown -h 0 -> nur als goodie !
*ACHTUNG:* die Datei /etc/sudoers immer ausschließlich mit dem Kommando _"visudo"_ bearbeiten !!! in /etc/sudoers eintragen: # User alias specification User_Alias TELONIC_USER = telonic # Cmnd alias specification Cmnd_Alias REBOOT = /sbin/shutdown -r 0 Cmnd_Alias INITD = /etc/init.d/* * # User privilege specification root ALL=(ALL) ALL # Members of the admin group may gain root privileges TELONIC_USER ALL = NOPASSWD: REBOOT, INITD Wenn Du möchtest, dass die/der User sein Passwort eingeben muß, dann "NOPASSWD" weglassen. Damit darf der User telonic nur die o.g. Befehle als Root ausführen. Prüfen kannst Du das mit "sudo -l" Aufruf ist dann z.b. sudo /etc/init.d/lpd restart Eine Frage noch: Warum darf der User telonic so viel? Bist Du das selbst und willst Dich einschränken? *Bitte testen (!!!!!!) und trotzdem sudo-Tutorial lesen (!!!)* Hilfreich sind u.a.: http://www.howtux.de/index.php?article=48 http://www.fh-ooe.at/uploads/tx_securitytipps/sudoHOWTO.pdf http://www.gratisoft.us/sudo/sample.sudoers http://www.gentoo.de/doc/de/sudo-guide.xml -- Gruß Axel ------------------------------ => einen Server härten? google mal nach Stahl härten oder was meinst Du mit härten? Aus: http://www.administrator.de/index.php?content=69906 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Thu, 18 Mar 2010 16:54:44 +0100
Axel Birndt
Moin Jens,
Jens Strohschnitter schrieb:
On Thu, 18 Mar 2010 15:50:25 +0100 Axel Birndt
wrote: Jens Strohschnitter schrieb:
das Angebot nehme ich dankend an. Habe mit sudo bisher nichts gemacht (ausser eben aufgerufen ;-)) An sich müsste meine Config recht flach sein. ... Bitte noch mal genau (eins pro Zeile) aufschreiben *was erlaubt* ist. Dann versuch ich mal ein Beispiel zu machen ... schon im Vorfeld vielen Dank für Deine Bemühungen!
- User: telonic
- Kommandos: In /etc/init.d alle Skripte restarten können (also bspw. /etc/init.d/lpd restart) /sbin/shutdown -r 0
- Kommandos die nicht ausgeführt werden dürfen: rsh ssh sftp rm /sbin/shutdown -h 0 -> nur als goodie !
*ACHTUNG:* die Datei /etc/sudoers immer ausschließlich mit dem Kommando _"visudo"_ bearbeiten !!!
in /etc/sudoers eintragen:
# User alias specification User_Alias TELONIC_USER = telonic
# Cmnd alias specification Cmnd_Alias REBOOT = /sbin/shutdown -r 0 Cmnd_Alias INITD = /etc/init.d/* *
# User privilege specification root ALL=(ALL) ALL
# Members of the admin group may gain root privileges
TELONIC_USER ALL = NOPASSWD: REBOOT, INITD
Wenn Du möchtest, dass die/der User sein Passwort eingeben muß, dann "NOPASSWD" weglassen.
Damit darf der User telonic nur die o.g. Befehle als Root ausführen. Prüfen kannst Du das mit "sudo -l"
Aufruf ist dann z.b.
sudo /etc/init.d/lpd restart
Eine Frage noch: Warum darf der User telonic so viel? Bist Du das selbst und willst Dich einschränken?
*Bitte testen (!!!!!!) und trotzdem sudo-Tutorial lesen (!!!)*
Hilfreich sind u.a.:
http://www.howtux.de/index.php?article=48 http://www.fh-ooe.at/uploads/tx_securitytipps/sudoHOWTO.pdf http://www.gratisoft.us/sudo/sample.sudoers http://www.gentoo.de/doc/de/sudo-guide.xml
--
Gruß Axel
------------------------------
=> einen Server härten? google mal nach Stahl härten oder was meinst Du mit härten?
Aus: http://www.administrator.de/index.php?content=69906 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Vielen Dank zunächst für die prompte Bedienung ! Habe die Einträge per visudo gemacht, bekomme aber leider beim Kommando: telonic@SERVER:/tmp> /etc/init.d/lpd restart -bash: /etc/init.d/lpd: Keine Berechtigung Wenn ich dann die Berechtigungen von lpd auf 755 ändere bekomme ich massig Meldungen wie: chown:: Operation not permitted Warning - chmod '//var/spool/lpd/pr-koe10' to 0700 failed, Operation not permitted Warning - Owner and Permission change FAILED: cannot chdir to '//var/spool/lpd/pr-koe10' as UID 1002, GRP 100 - 'Permission denied' /bin/chown: `/var/spool/lpd/pr-koe10': Permission denied /bin/chgrp: `/var/spool/lpd/pr-koe10': Permission denied Warning - Printer_DYN 'pr-koe10' spool dir '/var/spool/lpd/pr-koe10' cannot be scanned 'Permission denied' Auch wenn ich per visudo noch die Einträge: Cmnd_Alias VARSPOOLLPD = /var/spool/lpd/* * TELONIC_USER ALL = NOPASSWD: REBOOT, INITD, VARSPOOLLPD anpasse. telonic@SERVER:/tmp> sudo -l User telonic may run the following commands on this host: (ALL) ALL (root) NOPASSWD: /sbin/shutdown -r 0 (root) NOPASSWD: /etc/init.d/* * (root) NOPASSWD: /var/spool/lpd/* * Den User benötige ich für einen externen Dienstleister, der ausserhalb der Dienstzeiten abgeschmierte Dienste (die z.Zt. per Nagios überwacht werden) im Notfall restarten kann. Im großen Notfall dann eben halt den Server rebooten kann. -- kind regards, Jens Strohschnitter ----------------------------------------- LINUX LINUX LINUX LINUX LINUX LINUX LINUX Set the controls for the heart of the sun LINUX LINUX LINUX LINUX LINUX LINUX LINUX ----------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Thu, 18 Mar 2010 17:24:34 +0100
schrieb Jens Strohschnitter
Habe die Einträge per visudo gemacht, bekomme aber leider beim Kommando:
telonic@SERVER:/tmp> /etc/init.d/lpd restart -bash: /etc/init.d/lpd: Keine Berechtigung
[...] Richtig ist: sudo /etc/init.d/lpd restart ^^^ Gruß Renate -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Jens, Renate Neike schrieb:
Am Thu, 18 Mar 2010 17:24:34 +0100 schrieb Jens Strohschnitter
:
telonic@SERVER:/tmp> /etc/init.d/lpd restart -bash: /etc/init.d/lpd: Keine Berechtigung
[...]
Richtig ist: sudo /etc/init.d/lpd restart ^^^ ^^^^^^^ DAS war genau der Grund warum ich gesagt habe Du sollst die Tutorial trotzdem lesen. Du darfst nicht einfach abschreiben was man Dir schickt, sondern _musst_ es verstehen.
Danke Renate für's mithelfen und drüber gucken ;-) -- Gruß Axel ------------------------------ => einen Server härten? google mal nach Stahl härten oder was meinst Du mit härten? Aus: http://www.administrator.de/index.php?content=69906 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
telonic@SERVER:/tmp> /etc/init.d/lpd restart -bash: /etc/init.d/lpd: Keine Berechtigung
[...]
Richtig ist: sudo /etc/init.d/lpd restart ^^^^^^^ DAS war genau der Grund warum ich gesagt habe Du sollst die Tutorial trotzdem lesen. Du darfst nicht einfach abschreiben was man Dir schickt, sondern _musst_ es verstehen.
Danke Renate für's mithelfen und drüber gucken ;-)
Hi ganz großes sorry ! Aber wenn man das Ganze so schön wie von euch beiden serviert bekommt, verfällt man einfach ins copy and paste :-) Mit sudo klappts natürlich dann auch ! Also nachmals vielen Dank allen beteiligten - und die Wochenendlektüre wird sudo sein, versprochen ! -- kind regards, Jens Strohschnitter ----------------------------------------- LINUX LINUX LINUX LINUX LINUX LINUX LINUX Set the controls for the heart of the sun LINUX LINUX LINUX LINUX LINUX LINUX LINUX ----------------------------------------- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Renate! On Do, 18 Mär 2010, Renate Neike wrote:
sudo /etc/init.d/lpd restart
For Ewigkeiten, habe ich mir dafür mal aliase definiert: #v+ ~$ for service in /etc/init.d/* do alias rc-${service##/*/}="sudo ${service}" done #v- Kann man ja nach Belieben anpassen. Mit freundlichen Grüßen Christian -- Die Zeit für kleine Politik ist vorbei. Schon das nächste Jahrhundert bringt den Kampf um die Erdherrschaft. -- Friedrich Wilhelm Nietzsche -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Axel Birndt
-
Christian Brabandt
-
Jens Strohschnitter
-
Michael Raab
-
Renate Neike