Systembefehle ausführen

Post Reply
Message
Author
equal

Systembefehle ausführen

#1 Post by equal »

Hi ...

unter Windows bin ich in der lage sogenannte Systembefehle auszuführen und das ganze in ein Consoleprogramm zu verpacken. Somit habe ich einige Batch-Datein angelegt, ohne daß jemand ihre Arbeit nachvollziehen kann.
nun möchte ich gerne unter linux einen bzw. mehrere Systembefehle starten, denn mit Hilfe des S-Bits kann ich einem normalen User rootbefehle erlauben. Leider unterstützt das s-bit ja keine shellscripte, deswegen würde ich gerne auf ei´n fertiges Programm zurückgreifen, welches der normale User ausführen kann, und in dem ich ein Menu habe, was diesem Nutzer die Befehle vorgibt.

Wäre froh, wenn mir jemand ein Beispiel geben kann, da ich noch nie irgendwas mit gnu oder ähnlich gemacht habe ... hgab immer nur mit MS Studio gearbeitet *schäm* ;)
Beispiel wie:
dieses Shellscript in C:

#!/bin/sh

echo "Das ist ein Test"
mkdir /test
echo "blablablablabla" > /test/text
echo "###############"
cat /test/text
sleep 6
rm -fR /test
exit



Danke schon mal - würde mir sehr viel weiterhelfen ...

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Systembefehle ausführen

#2 Post by hjb »

Hi,

dazu kann man eigentlich nur eins sagen: Don't do it! Wenn ein Kommando wirklich root-Rechte braucht, dann sollte es auch von Root ausgeführt werden, und das s-bit ist überflüssig.

Wenn dich nur bestimmte Datei-Permissions daran hindern, die Programme auszuführen, dann passe die Permissions an. Beispielsweise könnte man eine neue Gruppe definieren und den User, der die Programme ausführt, in diese Gruppe aufnehmen. Dann die betroffenen Dateien für diese Gruppe zugänglich machen.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

equal

Re: Systembefehle ausführen

#3 Post by equal »

ich weiß, daß es nicht vorteilhaft ist, aber ich bin mir der Gefahren bewußt.
Ich suche nach Umsetzungen .. nicht nach einem Abraten meiner Aktion *zwinker*
Ich brauche das wirklich dringend, denn es ist für eine Bandsicherungssoftware, die root-rechte erfordert ... .
Der User hat aber kein root-passwort .. also ist es nur so nötig ...

Ich weiß, was ich tue - nur nicht wie <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

User avatar
hjb
Pro-Linux
Posts: 3264
Joined: 15. Aug 1999 16:59
Location: Bruchsal
Contact:

Re: Systembefehle ausführen

#4 Post by hjb »

Hi,

lege doch in ein nur diesem User zugängliches Verzeichnis eine setuid-Version der Shell oder des Perl-Interpreters.

Was ist das für eine Bandsicherungs-Software? Daß diese Root-Rechte braucht, um zu funktionieren, könnte ich mir gerade noch vorstellen, doch dann müßte es ja reichen, diesem Programm das setuid-Bit zu geben.

Aber gerade Bandsicherungssoftware sollte IMO vollautomatisch laufen, also ohne Eingreifen des Users. Das würde bedeuten, daß man den Aufruf in die crontab von root eintragen kann, und die Sache wäre erledigt.

Gruß,
hjb
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?

irgendwer

Re: Systembefehle ausführen

#5 Post by irgendwer »

Ich frage mich nur warum die meisten Linuxer nicht einfach auf das Antwort geben können was einer wissen will!
Gut ich hab jetzt grad persöhnlich auch nicht die passende antwort aber ich gebe auch keine anderen ratschläge, wenn er numal wissen will wie etwas so funktioniert und es im zweiten posting dann auch nochmals ausdrücklich betont, was sollen dann diese dummen ratschläge hjb???

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Systembefehle ausführen

#6 Post by bakunin »

Einen wunderschönen guten morgen, lieber "irgendwer",

der Grund, warum "Linuxer" nicht einfach auf das Antwort geben können, was gefragt wurde ist, dass (alle) "Linuxer" *grundsätzlich immer* arrogant und besserwisserisch sind, was mich natürlich mit einschließt, dich aber natürlich nicht, denn du bist stets hilfsbereit (Ich kann mich an zahlreiche Postings von dir erinnern, in denen du anderen geholfen hast) und immer darum bemüht, freundlich und konstruktiv zu sein. Es ist ja nicht so, dass HJBs Ratschläge Sinn gemacht hätten oder womöglich zu einer eleganteren Lösung für das ursprüngliche Problem führen würden, er hat es nur vorgeschlagen, um zu zeigen, dass er mehr weiß als der Fragende. Ja, so einfach ist das, lieber "irgendwer".

Ah, ehe ich es vergesse: Für Leute, die ihren Ironie-Detektor heute ausgeschaltet haben, sei hier darauf hingewiesen, dass es sich bei diesem Posting weitgehend um eben jene handelt.

Es gibt wirklich nix Nervigeres als die "Ihr seid aber alle so böse"-Flenner. Da sind mir ja Microsoft-Anhänger noch lieber.

Cheers,
GNU/Wolfgang (der durch HJBs Vorschläge einige Dinge gelernt hat)

equal

Re: Systembefehle ausführen

#7 Post by equal »

Ok .. da ich hier leider keine Antwort auf 'MEINE' Frage bekomme, muß ich mich leider damit abfinden, daß es auch wirklich keiner weiß.
Die Bandsoftware ist von einer 'Fremdfirma', die eine Menusoftware hat, mit der ich das steuern kann. Nur möchte ich diese Software etwas abändern (als shell läuft es problemlos aber eben nur als root)

BITTE nur Antworten auf meine Frage:
mir nützen wertvolle Ratschläge gar nichts und hjb: Danke für deine hilfreichen Postings - haben mir wirklich sehr viel geholfen.
Meine Frage ist auch allgemeiner Natur .. vielleicht interessiert mich auch nur dieser Hergang ... wer weiß :(



Danke

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Systembefehle ausführen

#8 Post by bakunin »

Hi equal!

Was das Ausführen von Befehlen von C aus angeht: Du hast dir die Manpages von execl und Co. mal angesehen?

Cheers,
GNU/Wolfgang

ratte

Re: Systembefehle ausführen

#9 Post by ratte »

<ich weiss, ist vergebens>Wenn ein Newbie eine Frage stellt á la "Mein User soll supertollesfeatureprogramm ausfuehren, wie gebe ich ihm Rootrechte" o.ae. laesst das einen Admin die Haare zu Berge stehen, da Linux Mechanismen hat (user-group-world), um klare Rechtsverhaeltnisse uebersichtlich zu vergeben. Das setuid-bit ist AFAIK eine Notloesung fuer manche Programme, die von Usern gebraucht werden, aber Rootrechte brauchen, um an zb. Devices zu kommen. Wo sich das umgehen laesst, sind Programme usern oder pseudousern zugeordnet, oder Gruppen.
Daher werden Antworten nicht sofort beantwortet, um sich heranzutasten, ob der Newbie vielleicht gar kein Newbie ist, sondern ein Admin, der weiss was er tut, oder ob des Newbie's Situation sich entschaerfen laesst.
Schriftliche Aeusserungen von Userfriendlys, Admins und Roots sind per se rein informativ gemeint, sachbezogen und komprimiert - Floskeln wie "Das koennte jetzt beleidigend wirken, aber" um zu sagen "lies die manpage" werden nicht gemacht.
Emotionen werden, wenn sie in die Information mit einfliessen, extra deutlich gemacht, zb. durch emoticons.
Das newbies diese besondere Art der Kommunikation (noch) nicht kennen, liegt auf der Hand und ist ein ewiges Problem.
Trotzdem sind Linuxer hilfsbereite Menschen!
</ich weiss, ist vergebens>

ratte

bAZiK

Re: Systembefehle ausführen

#10 Post by bAZiK »

versuchs mal mit

system("echo Hey, funzt ja);

Post Reply