PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : .bash_history



foobar
02.04.02, 12:33
Gibt es die Möglichkeit die datei .bash_history aus /home/'user'/ auch nach woanders hin mit zu loggen ? Noch besser waere eine Möglichkeit sie zu loggen ohne das der User sie modifizieren kann.

Was habe ich da für Möglichkeiten ?

Nighthawk
02.04.02, 12:52
Ich glaub in /etc/profile kannst Du mit HISTFILE festlegen in welcher Datei die History gespeichert werden soll.

foobar
02.04.02, 13:42
Hm, koennte man mal probieren :)
Mein Ziel ist es 2 Dateien zu haben. Also im Prinzip einfach nen Mirror von .bash_history.
Wohin werden Commands etc die der User ausfuehrt noch geloggt ?

MfG

Nighthawk
02.04.02, 14:01
Im Homeverzeichnis gibt's für jeden User 'ne Datei namens .bash_profile, da kannst Du HISTFILE auch reinsetzen. Für User die gleiche Histories benutzen sollen halt die gleiche Datei angeben. Das reicht doch, oder wolltest Du noch irgendwas? Ach ja, musst natürlich dem User noch die Schreibrechte für .bash_profile entziehen.

foobar
02.04.02, 14:49
Ok, das klappt schon mal... nun aber noch was. Ich mache mal ein Beispiel :

User1 = Ich (auch root)
User2 = Anderer User (der .bash_profil nicht loeschen koennen soll)

Ich trage nun in seine .bash_profile ein.
HISTFILE=/home/User1/.ssh_history_User2

Dann gebe ich ihm auf diese Datei (.ssh_history_User2) Schreibrecht und Leserecht.
Loeschen koennen duerfte es sie ja dann nicht mehr.

Auf der .bash_profile von ihm muss ich ihm ja allerdings zumindest die Leserechte geben da seine Einstellungen sonst nicht geladen werden.

Nun, zu meiner Frage. Kann ich es irgendwie anstellen das er garnicht sieht das seine history auch woanders geloggt wird ? Weil wenn er sonst in seine .bash_profile schaut kann er ja sehen das sie nach /home/User1/.ssh_history_User2 geloggt wird.

Danke.

MfG

Nighthawk
02.04.02, 15:02
Kann sein dass man irgendwo in den Tiefen der Shellauch das noch ändern kann, aber wieso sollte er das nicht wissen? Ändern kann er's nicht und nützen tut es ihm auch nichts

foobar
02.04.02, 15:20
Hm, ne... so bringts aber auch nichts. Er kann die Datei nicht loeschen, aber er kann den Inhalt modifizieren. Also bringt es das nicht.

Gibts denn evtl. die Moeglichkeit die Daten ein 2 Orten zu speichern ?
Also z.B durch trennen in .bash_profile... sodass man 2 Orte angeben koennte.

Sowas in der Form :

HISTFILE=/home/User1/.ssh_history_User2:/home/User2/.bash_history
irgendein Trennzeichen ------------------^
oder Leerzeile etc...

Dann koennte man aus der /home/User1/.ssh_history_User2 die Schreibrechte nehmen.

Nighthawk
02.04.02, 15:25
Mach doch einfach ein Script dass minütlich ausgeführt wird und, wenn der User eingeloggt ist, die Datei woanders hin kopiert wenn sich was dran geändert hat.

foobar
02.04.02, 16:15
Ja, das scheint die beste Idee zu sein. Das faellt erstens am wenigsten auf, zweitens muss ich mein homedir nicht freigeben (oder geht das auch anders ?) und drittens kann ich dann so regeln das er die Datei nicht mehr lesen kann.

Auch wenn ich grad nicht weiss wie ich nun son Script genau mache... irgendwie schaff ichs hoffentlich schon.

Wer moechte kann mir hier aber noch gerne nen paar Anhaltspunkte geben ;)

Danke.

MfG

Nighthawk
03.04.02, 10:03
Wenne nicht weißt wie man cron sagt dass es das Script minütlich ausführen soll frag die manpages... ansonsten sollte das schon reichen:

#!/bin/bash

cp -bfu /home/user/.bash_history /wo/an/ders/bash_history

foobar
03.04.02, 10:38
Ja, danke.