pflog0 und pflog1

Dateien? (naja, everything is a file..)
Default geht "log" nach pflog0. Man kann weitere pflog(4) interfaces anlegen und dann mit zB
block log to pflog1
das nach pflog1 schreiben - auf pflog0 kommt das nicht nochmal an, ausser nochmal die gleiche rule, aber mit 'match'.
 
Mein Problem ist das ich 2x die gleichen Einträge brauche oder die Einträge aus pflog nicht nach /var/log/pflog sondern zum Bsp. nach /home/user1. Dies scheitert aber daran, dass ich nicht alle conf-Dateien weiß, in der ich den Eintrag setzen muss.

Wenn ich den Pfad in der /etc/newsyslog.conf ändere loggt er nicht in den neuen sondern alten Pfad und wo anders habe ich keine Pfadangaben (z.B. /etc/rc.conf), welche pflog betreffen, gefunden!

Den neuen Pfad benötige ich, weil ich mit dem user1 von einen anderen Server die pflog holen möchte. Das Pull-Prinzip kann ich nicht ändern.

Andere Frage: Wenn ich in der /etc/newsyslog.conf hinter den Befehl des Aushängens noch
Code:
sleep 60; cp /var/log/pflog.0.gz /home/user1
setze, müsste er mir ja eigentlich die pflog.0.gz ins neue Verzeichnis kopieren!!

Macht er leider aber nicht.
 
@ Fusselbär:

Wenn ich tee benutzen würde, müsste es mit tcpdump permanent laufen. Es ist aber nicht gewollt, zwecks Sicherheitsbedenken, dass tcpdump permanent läuft und der user1 hat keine Berechtigung, da nicht root, es von außen zu starten!

@mogbo:

Er klappt vermutlich doch mit mehreren Befehlen hintereinander - sehe es am Vormittag, wenn das pflog wieder vollläuft. Mit crontab führe ich es bereits aller 5 Minuten durch. Dies schreibt mir aber unnötig das logging voll und führt es unnötig (12x in der Stunde) aus- deshalb wäre die Lösung mit der automatischen Umschreibung durch /etc/newsyslog.conf zu bevorzugen!

Leider hilft es nich bei meinem Problem, wie ich mit dem user1 an das pflog komme ohne ihm mehr Rechte einzuräumen. Ideal wäre eine Umleitung des pflog nach /home/user1 !!!
 
Wenn ich tee benutzen würde, müsste es mit tcpdump permanent laufen. Es ist aber nicht gewollt, zwecks Sicherheitsbedenken, dass tcpdump permanent läuft und der user1 hat keine Berechtigung, da nicht root, es von außen zu starten!

/etc/doas.conf
Code:
permit nopass keepenv "user" cmd "commando" args "flags"
#### Anführungszeichen natürlich weglassen
Da der User vermutlich ohnehin Leseberechtigung auf den Output hat, würde ichs eventuell so starten. tcpdump mit einem nologin User starten und eine Group mit dem leseberechtigten User teilen ist auch eine schicke Erweiterung.

https://man.openbsd.org/doas
https://man.openbsd.org/doas.conf.5
 
mit rcctl(8) die pflogd flags setzen, dass mit -f nach /home/user1/pflog geschrieben wird;
dann in newsyslog.conf noch:
/home/user1/pflog user1:wheel 600 3 250 * ZB "pkill -HUP -u root -U root -t - -x pflogd"
Danach sind die pflog.*.gz fuer user1 handlebar
 
@double-p

Danke! Das warst was ich gesucht habe. Was er aber noch nicht macht ist die Berechtigung zu setzen! Bei
Code:
/home/user1/pflog root:wheel 644 3 250 * ZB "pkill -HUP -u root -U root -t - -x pflogd"
bzw.
Code:
/home/user1/pflog user1:wheel 600 3 250 * ZB "pkill -HUP -u root -U root -t - -x pflogd"
bekommt die pflog immer die berechtigung 600 root:user1
 
bekommt die pflog immer die berechtigung 600 root:user1
640 wäre Lesen + Schreiben für User (root) und Lesen für Group (user1)

Nur als Tipp:
Mit einer doas.conf müsstest du hier keine zusätzlichen Berechtigungen vergeben und könntest diesen einen Aufruf ohne Berechtigungsveränderungen tätigen, müsstest weiterhin nichtmal die Logdatei verschieben oder irgendwas via flags in der rc.conf.local abändern

Edit:
Hab während deines Edits geantwortet:
644 wäre grob fahrlässig oder willst du das jeder Leseberechtigung hat?
 
Zurück
Oben