Commands abfangen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
EmanuelBennici
Beiträge: 19
Registriert: 29.07.2017 16:36:14

Commands abfangen

Beitrag von EmanuelBennici » 14.09.2017 00:43:59

Hey,
ich möchte für mich einen kleinen Art "Schutz" programmieren.
Wenn ich in einer bestimmten Directory (auch Unterordner) einen Befehl ausführe (z. B. rm -rf X),
dann soll (bevor das eingegebene Kommando, ausgeführt wird) Etwas Passieren.
Z. B. [im Falle von rm] Wenn es ein Ordner ist was Gelöscht werden soll, dann macht er erst ein Backup
davon und dann soll der Command [bsp.: rm -rf X) ausgeführt werden

Ich würde das Programm gerne in C schreiben.

Ich hoffe ich konnte meine Frage verständlich erklären.

MfG Emanuel

cronoik
Beiträge: 1561
Registriert: 18.03.2012 21:13:42
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Commands abfangen

Beitrag von cronoik » 14.09.2017 02:02:48

Wie kann man dir nun helfen? Das dein Programm anstatt von /bin/rm aufgerufen wird, kannst du beispielsweise ueber die Reihenfolge von PATH erreichen. Wenn es dir nur um den Effekt geht, dann schau dir doch mal Debiansafe-rm oder Debiantrash-cli. Bei letzterem musst du noch die Ausfuehrung von rm durch ein alias verhindern.
Hilf mit unser Wiki zu verbessern!

Benutzeravatar
Meillo
Moderator
Beiträge: 4605
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Commands abfangen

Beitrag von Meillo » 14.09.2017 06:55:54

Ja, man wuerde das loesen indem du einen rm(1)-Wrapper schreibst, den du ebenfalls `rm' nennst und weiter vorne in PATH platzierst.

Auch dem Rest von cronoiks Antwort stimme ich zu: Schau dir erstmal diese existenten Programme an bevor du selber was schreibst, ausser es geht dir um den Lerneffekt (was sein koennte, da du explizit eine Umsetzung in C erwaehnst).
Use ed(1) once in a while!

Gunman1982
Beiträge: 810
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Re: Commands abfangen

Beitrag von Gunman1982 » 25.09.2017 15:19:45

Wieso programm wenn es sich über alias lösen lässt? :?

Antworten