Am Fre, 2002-04-12 um 13.35 schrieb Konrad Neitzel:
Alexander Thoma
schrieb: ein crontab eines users erfolg mittels des befehls crontab. dier ist SUID !!!!!!! damit hat man fuer diesen befehl rootrechte !!!!! damit hat ein normaler nutzer doch die moeglichkeit fuer diese taetigkeit rootrechte zu erlangen.
NEIN!!!! Lediglich der crontab Prozess läuft dann als root (oder eben der suid Prozess, wenn es nicht crontab ist!) und der User kann NICHT rootrechte kriegen! Wäre ja noch viel Schöner, wenn dies so einfach möglich wäre!
richtig, das entscheidet aber das programm das SUID laeuft. ich kann aus einem SUID-programm ein child-precess mit der UID des aufrufers oder mit UID 0 starten. ich habe auch nicht gesagt, dass man root wird, sondern dass man fuer _diese_ taetigkeit rootrechte hat. natuerlich nur insoweit man sie benoetigt. damit kann ich aber auch fuer child-process root-rechte haben und nicht nur fuer den process selbst. mir ging es aber um etwas anderes. es ist richtig, dass es ander moeglichkeiten gibt, als den service neu zu starten (das das automatisch geht war mir wie gesagt neu). die erklaerung von bernd, warum man den service nicht starten muss war in diesem fall faktisch falsch, da eine system-datei veraendert wurde und nicht ein user mittels des befehls crontab seine crontabs aendert. in so einem fall kann ich naemlich einen suchlmeisterton alla: " NEIN! Natürlich nicht. Leute, Linux ist ein Mehrbenutzersystem. Da können an einem Rechner viele Menschen arbeiten, und nicht alle haben rootrechte. " kann ich nicht ab, wenn jemand an der eigenlichen problemstellung vorbeiargumentiert. habe ich keine rootrechte, kann ich /etc/crontab nicht editieren, also greift das multiuser-gefasele nicht. da bin ich admin und habe die recht die ich brauche. btw: linux ist ein unix aenliches system. unix ist aus dem code des verworfenen multics projektes hervorgegangen. (in multics steckt multi=viele). nachdem einige beteiligte des multics systems des unix sahen, waren sie der meinung das es im vergleich zu den faehigkeiten die fuer multics als multiuser-os geplant waren doch eher ein sigeluser system sei. daher in anlehnung an den namen multics (multi=viele) der name unix (uno = einer).
Und der eigentliche Editor wird tatsächlich nicht als root gestartet! Wäre ja auch noch schöner! Sonst setzte ich $EDITOR="rm -rf /" und starte dann ein crontab -e. (Oder ich lasse mir vom Editor eine Shell geben.)
das ist voellig klar. das waer ja wirklich noch schoener.
in diesem fall wurde aber /etc/inittab bearbeitet. in dieser datei darf kein normaler user arbeiten. diese datei hat nix mit multiuser oder nict zu tun. leute haengt euch nicht am sterten des deamons auf. ich habe inzwischen, dass cron inzwischen alle minute des aenderungsdatum der /etc/crontab schaut und diese neu einliest, wenn sie veraendert wurde. war fuer mich neu.
Dagegen spricht auch nichts. Aber trotzdem ist es UNSINN, einen Service neu zu starten, nur weil an der Config etwas getan hat. Am besten gleich den ganzen Rechner neu starten, oder wie? Oder noch besser: Runter fahren, 10 sek. warten und neu einschalten. :-))
Ein kill -1 <pid> reicht normalerweise aus!
richtig. dazu braucht man aber die pid. manchmal ist es einfacher zu erlaeren, dass man den service neu starten soll, statt auch nicht zu erklaeren, wie man die pid kommt. wobei die meisten service-scripte inzwischen eine option reload bzw restart haben sollten. dabei wird AFAIK im prinzip auch nur ein SIGHUP geschickt.
Ich wundere mich ehh, wie "hier" an vielen Config-Files so rumgebastelt wird. Wie es sein sollte zeigt z.B. der innd (Newsserver). - Die Config-Files liegen in einem seperaten Verzeichnis ein weiteres mal. ($INNSRC/site) - Diese Config-Files kann man dann beliebig editieren. - Ein make-Aufruf (hier make reload-install) installiert veränderte Config-Files und sorgt für ein Einlesen der Config-Files.
Dies hat man natürlich nicht, wenn man die Schrott-RPMs von SuSE nimmt, oder irre ich mich da?
Bei mail hat man das übrigens ähnlich hab ich bei mir vor kurzem gesehen. Da ist in /etc/mail auch ein Makefile, dass hier etwas unterstützend eingreift.
Hintergrund ist hier einfach: - Eine Änderung kann ja länger dauern. Und ich will alle Änderungen mehrfach checken. Evtl. soll morgen noch ein Kollege drüber sehen! Und zur Not soll die Kiste auch rebooten können und so. - Ich will die Config-Files evtl. durch ein Script checken lassen. - ich will mir nicht merken, was ich denn nun genau zu tuen habe, damit irgend eine SOftware ihre Änderungen übernimmt.
siehste, daher starte ich services in /etc/init.d einfach neu, wenn ich die config geaendert habe. nicht jeder service liest seine config automatisch neu ein. kostet mich nicht viel und funktioniert sicher.
Ist dies nun ein kill -1 <pid>? Oder gibt es eine CLI über die ich ein reload absetzen muss oder kann? Wie ist es z.B. beim Apache? Muss ich denn komplett beenden? Oder muss ich auf die x Prozesse alle ein kill -1 <pid> machen? Oder was? Muss ich jetzt alle Software genau bis ins Detail kennen? Ich hoffe doch nicht!
In /etc kann die Konfig liegen, aber ich möchte irgendwo eine 2. Config liegen haben, die ich gezielt anpassen kann. Und ja: ich habe es bei Linux nicht und das kotzt mich etwas an (sorry für diese Umgangsart!).
Das nur einmal, weil es hier etwas rein passt.
(Und bitte keine Aussagen wie: Man sollte doch genau wissen, was man macht. Dies ist halt recht grosser Unsinn. Ich schaue mir einmal an, wie ich das Teil zu konfigurieren habe und wenn ich dann nur eine Kleinigkeit am Config-File anpassen will, dann habe ich keine Lust a) erneut gross Doku zu stöbern, nur weil Software XYZ die Änderung übernehmen soll. b) zu Rebooten a.la. Windows)
Mit den besten Grüßen,
Konrad Neitzel
-- SoftMediaTec GmbH Tel: 0172 / 689 31 45 Fax: 069 / 90 50 99 53
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
nix fuer ungut -- mfg alex ------------------------------------------------------------------------ I am chaos. I am the substance from which your artists and scientists build rhythms. I am the spirit with which your children and clowns laugh in happy anarchy. I am chaos. I am alive, and tell you that you are free