Bestimmte Zeilen ausblenden

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Nagazi
Beiträge: 112
Registriert: 29.06.2011 18:37:34
Wohnort: Oberhausen

Bestimmte Zeilen ausblenden

Beitrag von Nagazi » 09.08.2011 20:14:24

Hallöle,

ich habe einige Textdateien auf meinem Server liegen, welche andere schon sehen dürfen/können oder sehen müssen, aber ich möchte das 3 Zeilen in der Textdatei nicht zu sehen sind. Bis auf den rootaccount.
Problems on Windows? re-boot
Problems on Linux? be root

roli
Beiträge: 3174
Registriert: 10.09.2003 17:39:58

Re: Bestimmte Zeilen ausblenden

Beitrag von roli » 09.08.2011 20:33:22

ungetestet:

Code: Alles auswählen

sed -e '/zu löschende Zeile1/d' -e '/zu löschende Zeile2/' -e '/zu löschende Zeile3/d' <eingabe_datei >ausgabe_datei
Roland


"Aber wenn du schon so unwissend bist, davon noch nicht gehört zu haben,
so will ich es doch als gut ansehen, daß du lieber einmal töricht fragst,
als weiterhin nichts von etwas zu wissen, das man doch wissen sollte."
aus "Die Edda des Snorri Sturluson", "Gylfis Täuschung"

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: Bestimmte Zeilen ausblenden

Beitrag von Gunman1982 » 09.08.2011 21:12:40

Würde dafür denk ich ein script nehmen was die textdateien kopiert, die drei zeilen entfernt (entweder per regulären expressions oder anhand der zeilen-nr, was halt besser passt) und die kopie zugänglich macht.

Benutzeravatar
Nagazi
Beiträge: 112
Registriert: 29.06.2011 18:37:34
Wohnort: Oberhausen

Re: Bestimmte Zeilen ausblenden

Beitrag von Nagazi » 09.08.2011 23:30:03

wäre auch eine idee aber gefällt mir beides nicht so richtig^^.

Nicht ganz das was ich möchte
Problems on Windows? re-boot
Problems on Linux? be root

Benutzeravatar
Nagazi
Beiträge: 112
Registriert: 29.06.2011 18:37:34
Wohnort: Oberhausen

Re: Bestimmte Zeilen ausblenden

Beitrag von Nagazi » 11.08.2011 19:20:26

Wollte mal wissen ob einer eine Ahnung hat wie ich einige Zeilen exportieren kann ich eine eigene Datei und hinterher wieder in eine andere includen kann.
Problems on Windows? re-boot
Problems on Linux? be root

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: Bestimmte Zeilen ausblenden

Beitrag von Gunman1982 » 11.08.2011 19:40:30

Nagazi hat geschrieben:Wollte mal wissen ob einer eine Ahnung hat wie ich einige Zeilen exportieren kann ich eine eigene Datei und hinterher wieder in eine andere includen kann.
mhh 'diff' und 'patch'?

omikron
Beiträge: 80
Registriert: 04.08.2011 19:12:49

Re: Bestimmte Zeilen ausblenden

Beitrag von omikron » 11.08.2011 20:17:01

Entferne die drei Zeilen per Regex und schiebe den Herrschaften das jeweilige File in ihr Stammverzeichnis.

Kommt zwar darauf an um was für Files und Inhalt es sich handelt, ich finde es so am einfachsten als irgendwelche Experimente zu starten.

Benutzeravatar
Nagazi
Beiträge: 112
Registriert: 29.06.2011 18:37:34
Wohnort: Oberhausen

Re: Bestimmte Zeilen ausblenden

Beitrag von Nagazi » 20.08.2011 00:58:59

Mir ist spontan eine ganz andere idee gekommen,

was wäre wenn ich in die original .cfg reinschreibe exec /home/username/keys.cfg

und die originale .cfg in /home/username/bot/ liegt?

Würde das alles so funktionieren das der User nicht an die keys.cfg heran kommt (sehen/bearbeiten) aber die 3 Zeilen trotzdem in die originale .cfg included werden?
Problems on Windows? re-boot
Problems on Linux? be root

Benutzeravatar
Nagazi
Beiträge: 112
Registriert: 29.06.2011 18:37:34
Wohnort: Oberhausen

Re: Bestimmte Zeilen ausblenden

Beitrag von Nagazi » 30.08.2011 01:00:29

Wollte den Beitrag nochmal pushen,

wie kann ich den eine .cfg in eine andere includen (aber nicht so das man die einzufügende Datei sichtbar wird).

mit exec xxx.cfg gehts leider nicht.
Problems on Windows? re-boot
Problems on Linux? be root

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: Bestimmte Zeilen ausblenden

Beitrag von Gunman1982 » 30.08.2011 03:31:49

Nagazi hat geschrieben:Wollte den Beitrag nochmal pushen,

wie kann ich den eine .cfg in eine andere includen (aber nicht so das man die einzufügende Datei sichtbar wird).

mit exec xxx.cfg gehts leider nicht.
Kommt ganz drauf an, wie soll die andere cfg verfügbar sein? Wird die cfg mit einem bestimmten Programm geparsed was unter umständen das referenzieren einer anderen config unterstützt?

Irgendwie versteh ich glaub ich dein grundsätzliches Ziel bei dieser Sache noch nicht ganz. Hast du als Ziel das eine Config für den User besteht, daraus aber x Zeilen nur bei Ausführung eines speziellen Programms nur für dieses dann zur Verfügung stehen und sonst für den "menschlichen" User nicht einsehbar sind?

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Bestimmte Zeilen ausblenden

Beitrag von rendegast » 30.08.2011 05:21:58

Was ist das für eine cfg.?
für welches Programm?
-> include-Fähigkeiten, eventuell interen Rechteverwaltung.
Zugriff?
per webserver/ftp/nfs (deren Zugriffsrechte),
wird von einem Programm ausgewertet (Gameserver) oder vom Benutzer gelesen?

Eventuell verfolgst Du hier einen ganz falschen Ansatz.
Was bringt Dir ein Zugriffsverbot beim ftp,
während ein Gameserver die Datei auswertet und die Benutzer die Einstellungen auf der Konsole des Spiels anzeigen können.

wie kann ich den eine .cfg in eine andere includen (aber nicht so das man die einzufügende Datei sichtbar wird).
zBsp mittles eines config.dir/, von dem aus die entsprechende Datei verlinkt ist.
Die Datei liegt im verbotenen Verzeichnis.
-> Für einen normalen Benutzer oder dessen Programme ist die Datei nicht sichtbar.
Das klappt beim zBsp. /etc/apt/apt.conf.d/ für die apt-get/aptitude der Benutzer,
nicht aber beim /etc/samba/smb.conf.d/ da dieser normalerweise mit root-Rechten läuft.
Also wird beim samba mit internen Rechten gearbeitet.
was wäre wenn ich in die original .cfg reinschreibe exec /home/username/keys.cfg
'include' / 'exec'
Wie gezeigt kommt es darauf an, ob der Zugriff so etwas beherrscht.

Abstrahiert könnte ein solches config.dir/ und dessen Dateien auch in einer Datenbank mit deren Rechteverwaltung liegen,
sodaß beim Zugriff dagegen authentifiziert sein muß


Mach mal Butter bei die Fisch und gib Info über Deine Geheimnisse
oder lese den jeweiligen Benutzern die erlaubten Zeilen am Telefon vor.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

Benutzeravatar
TRex
Moderator
Beiträge: 8334
Registriert: 23.11.2006 12:23:54
Wohnort: KA

Re: Bestimmte Zeilen ausblenden

Beitrag von TRex » 30.08.2011 10:12:41

Ich kombinier einfach mal ein paar Beiträge und verlinkte URLs von nagazi und komme zu dem Schluss, dass es sich dabei um eine Konfigurationsdatei eines Gameservers handelt, welcher vermutlich auch eine Lizenz beinhaltet. Nagazis Untermieter sollen dabei Teile der Datei bearbeiten können, ohne die Lizenz zu sehen.

Richtig?
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
Nagazi
Beiträge: 112
Registriert: 29.06.2011 18:37:34
Wohnort: Oberhausen

Re: Bestimmte Zeilen ausblenden

Beitrag von Nagazi » 30.08.2011 12:40:54

Also ich mache mal eine fixe Zusammenfassung,

ich bin der hoster, ca. eine Hand voll leute haben bei mir ein paar Gameserver (Partner-Clans etc.)

Der Gameserver ist eher als Art Bot zu verstehen und nennt sich Ghost++, auch ganz einfach unter google zu finden.

Es ist richtig es geht darum das der mieter die Lizenskeys des Bots nicht sehen soll (Diebstahlgefahr).

Da der User mit seinem FTP/WebFTP in seinem Verzeichniss gefangen ist, habe ich mir gedacht, lege ich eine Datei an die, die Lizenskeys beinhaltet aber ausserhalb des FTP Ordners des Users liegt. Da ja die Konsole aus dem Homeverzeichnis raus kann (wenn ich das bisher richtig verstanden habe) und dann die keys.txt/cfg laden kann.
Jetzt soll nur bei dem Start des Bots die standart.cfg aus dem Verzeichnis die Key.txt benutzen, aber nicht sichtbar einfügen.

Ist finde ich kompliziert zu erklären.
Problems on Windows? re-boot
Problems on Linux? be root

artemis
Beiträge: 447
Registriert: 21.12.2005 23:11:11

Re: Bestimmte Zeilen ausblenden

Beitrag von artemis » 30.08.2011 14:33:54

Hallo...

Hier mal ein Vorschlag.
Kurze Einleitung:
user.cfg -> darf vom Benutzer gelesen und geädert werden
bot.cfg -> nur vom System les- und änderbar
key.txt -> Schlüsseldatei

Du machst ein Script in dem mit den inotify-tools die Datei user.cfg überwacht wird. Ändert der Benutzer nun die Datei, wird diese durch das Script automatisch nach bot.cfg kopiert und dabei die Schlüsseleinträge aus der key.txt hinzugefügt.
Der Bot benutzt also die bot.cfg, die jedoch nicht vom Benutzer lesbar ist.

Wie schon oben erwähnt wurde hilft das nicht, wenn dann der Bot die Schlüssel über die Gameserver Konsole raushaut.

Bis dann,
artemis

Benutzeravatar
Nagazi
Beiträge: 112
Registriert: 29.06.2011 18:37:34
Wohnort: Oberhausen

Re: Bestimmte Zeilen ausblenden

Beitrag von Nagazi » 30.08.2011 14:43:01

Okay, das klingt schonmal klasse und einleuchtend.

das problem wäre nur an der sache,

wenn die bot.cfg nicht im Stammverzeichniss liegt, weiß der Bot ja auch nicht wo sie ist.

Und die Antwort auf deine Frage ist; Nein der Bot gibt in der Konsole die Keys nicht aus.
Problems on Windows? re-boot
Problems on Linux? be root

Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

Re: Bestimmte Zeilen ausblenden

Beitrag von Gunman1982 » 30.08.2011 14:52:02

Solange der Bot als Userprocess des jeweiligen Users läuft wird dieser User auch zugang zu den Keys haben. Und wenn er sich nen speicherdump vom bot macht. Das wäre zwar ziemlich arbeit und bestimmt eine nicht geringe Hürde aber durchaus machbar.

Läuft der Bot unter einem anderen Useraccount oder sogar als root dann spricht ja nichts dagegen die license keys extra zu laden. Du könntest zum Beispiel ein script schreiben was sobald der bot neu gestartet wird aus dem jeweiligen user verzeichnis die conf kopiert, mit der license conf merged (zusammenfügt) und diese dann zum starten nutzt. Sofern der bot zu einfach gestrickt ist um mehrere confs über includes zu parsen.
Wie auch schon die vorredner gesagt haben bringt das alles auch wieder nichts wenn der bot eine tratschtante auf der console ist.

Eine Möglichkeit das userprozess a (bot) leserechte auf eine datei hat aber userprozess b (less/more/etc...) nicht wäre mir nicht bekannt und bezweifel ich auch das dies mit dem rechte modell unter linux möglich ist.

Es gäbe üble hacks das du zum beispiel die license verschlüsselt und nur der bot-prozess intern entschlüsselt, aber das liesse sich dann auch wieder leicht aushebeln indem man einfach das verschlüsselte license file und die bot executable kopiert.

Benutzeravatar
Nagazi
Beiträge: 112
Registriert: 29.06.2011 18:37:34
Wohnort: Oberhausen

Re: Bestimmte Zeilen ausblenden

Beitrag von Nagazi » 03.09.2011 15:59:27

Dann denke ich doch mal lieber muss ich mir selber etwas dafür ausdenken das kommt alles ein bisschen komplex rüber und ich denke mal das ich das nicht schaffen würde.

Nocheinmal wie schon vorher gepostet, der Bot ist in der Konsole keine Tratschtasche, der Key ist nicht auslesbar.

Und danke an alle die mir bei dem Problem versucht haben zu helfen.
Problems on Windows? re-boot
Problems on Linux? be root

Antworten