zeilenweises Auslesen und Auswerten einer Datei

Post Reply
Message
Author
ne

zeilenweises Auslesen und Auswerten einer Datei

#1 Post by ne »

Hi,

wie kann ich eine Datei zeilenweise auslesen und auswerten ...
z.Bsp möchte ich prüfen, ob ein User ganz bestimmte Programmoptionen ausführen darf oder niicht.

Ich habe ein Programm, mit dem ich Datensicherung verwalten kann. Ich möchte eine datback.conf anlegen, welche diese oder ähnliche Form haben soll:

user1=allow
user2=notallow
meier=allow
mueller=allow


oder

user1=1
user2=0
meier=1
mueller=1

(je nach dem, was besser ist)

die User mit dem Eintrag allow oder 1 dürfen die Datensicherung verwalten .. und den Usern mit notallow, 0 oder ohne Eintrag soll die Nutzung verboten werden.

Dazu muß ich diese conf auslesen und auswerten (in der shell würde ich das mit grep machen - wie in C )

Hat jemand vielleicht einen fertigen source dafür ? Lösungsvorschläge, Beispiele etc ?

wäre sehr dankbar ...

Gruß ne

Bob Gomorrha

Re: zeilenweises Auslesen und Auswerten einer Datei

#2 Post by Bob Gomorrha »

Kann Dir zwar nicht sagen, wie das mit C geht, aber ich würde so vorgehen:

Ich schaffe eine Gruppe "Datensicherung" und alle Benutzer, die die Datensicherung verwalten dürfen, sind Mitglied dieser Gruppe. Natürlich gehört auch das ausführende Programm an diese Gruppe gebunden.

Bitte um Läuterung, falls dieser Gedankengang falsch ist.

ne

Re: zeilenweises Auslesen und Auswerten einer Datei

#3 Post by ne »

hi ...

erstmal ist dieser gedankengang nich ganz soo falsch, aber in diesem falle ist er nicht nutzbar, denn:

- das backup-programm braucht rootrechte (diese werden in dem Programm gesetzt - auch für den normalen user), damit hat der User zum Ausführen der benötigten Operationen die entsprechenden Rechte.
- dieses Programm sollte von einem Backup-Admin verwaltet werden, der die *.conf dann eben editiert und bestimmt, wer darf was (dieser "Admin" sollte dafür aber keine gigantischen linux- bzw edvkenntnisse haben) - er klickt einfach die user in einem menü auf allow (config wird selber erstellt) und fertig
- die Installation wird für den einfachen User zu aufwedig, da er für die bestimmten user die gruppe anlegen und die user darin integrieren muß - ein Klick "du darfst, du nicht" ist da einfacher zu handhaben <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

Das ganze sollte auch nicht in eine große banutzerverwaltung ausarten, es ist nur ein kleines backup-tool, welches ich aus sicherheitsgründen nicht in shell umsetzen möchte.

Bitte keine Diskussionen über Sinn oder Unsinn einer solchen Lösung - habe das lange genug abgewägt <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">
Mir fehlen nur leider die nötigen Kenntnisse, um dem Programm folgendes zu sagen:

Shellähnliher Ablauf:
...
...
...
#Hier beginnt mein Problem
- öffne datei *.conf
- echo $USER (wie gibt man das in C aus ?) < soweit ich weis funktionieren systemvariablen in C nicht
- gehe in datei zu Zeile, die Ausgabe von `$USER` enthält - wenn nicht existiert -> exit
- schaue in dieser Zeile, ob noallow (oder 0) enthalten - wenn ja -> exit
- setze uid 0 ...
- starte Hauptteil ...

nur dies möchte ich in C umsetzen .. mehr ned <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

danke schon mal für Tipps und Rat

Jochen

Re: zeilenweises Auslesen und Auswerten einer Datei

#4 Post by Jochen »

Auslesen einer Umgebungsvariablen in C: man 3 getenv

Bastelst Du Dir Dein eigenes Backup-Format zusammen?

Jochen

ne

Re: zeilenweises Auslesen und Auswerten einer Datei

#5 Post by ne »

Hi Jochen

zu 1.)

habe im Forum schon ein weiteres Problem gepostet

zu 2.)

ich bin nur dabei ein bestehendes altes Unixprogramm auf Linux zu portieren und anzupassen.
Soweit ich aber erkennen kann benutzt es cpio - ist eine Hauseigene Entwicklung, welche testweise auf Linux portiert wird, da dieses Unix ausgestorben ist <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle">

abto
Posts: 23
Joined: 30. Mar 2002 1:41

Re: zeilenweises Auslesen und Auswerten einer Datei

#6 Post by abto »

versuchs mit:

getpwuid(getuid())->pw_name

Post Reply