GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So speichern Sie den Befehlsverlauf ausgewählter Benutzer in Linux

Ein sehr mächtiger und cooler Befehl in Bash ist Geschichte. Einfach ausgedrückt speichert Bash standardmäßig einen Verlauf aller von Ihnen eingegebenen Befehle. Der Wert der Variablen HISTSIZE bestimmt die Anzahl der Ereignisse, die während einer Sitzung in der Verlaufsliste aufbewahrt werden. Obwohl der Standardwert für HISTSIZE 500 ist, möchten Sie ihn vielleicht auf einen bequemeren Wert wie 10000 setzen ist .bash_history in Ihrem Home-Verzeichnis). Dieser Beitrag beschreibt die Schritte zum Speichern des Befehlsverlaufs eines bestimmten Benutzers in Linux.

1. Erstellen Sie einen neuen Gruppenmonitor. Das Hinzufügen von Benutzern muss als sekundäre Gruppe überwacht werden.

# groupadd monitor
# usermod -a -G monitor [user] 

Zum Beispiel:

# usermod -a -G monitor opc
# id opc
uid=1000(opc) gid=1000(opc) groups=1000(opc),1002(admins),1003(monitor) 

2. Erstellen Sie das Verzeichnis /var/log/shelllogs, in dem der Shell-Verlauf gespeichert wird.

# mkdir /var/log/shelllogs
# chown root:monitor /var/log/shelllogs
# chmod 770 /var/log/shelllogs
# chmod +t /var/log/shelllogs

3. Erstellen Sie ein Skript in /etc/profile.d mit optimiertem Verlaufsformat, sodass es bei jeder Benutzeranmeldung exportiert wird.

# cat /etc/profile.d/history.sh
export HISTSIZE=10000
export HISTTIMEFORMAT='%F %T '
export HISTFILE=/var/log/shelllogs/$(who am i | awk '{print $1}';exit)-as-$(whoami)-$(date +%F-%T)
export PROMPT_COMMAND='history -a'

4. Bearbeiten Sie /etc/bashrc und fügen Sie die folgende Zeile am Ende der Datei hinzu.

test "$(ps -ocommand= -p $PPID | awk '{print $1}')" == 'script' || (script -f /var/log/shelllogs/$(who am i | awk '{print $1}';exit)-as-$(whoami)-$(date +%F-%T)_console.log)

Melden Sie sich über eine andere ssh/putty-Sitzung beim selben Server an, um sicherzustellen, dass Dateien erstellt werden.


Linux
  1. So verwenden Sie den Verlaufsbefehl unter Linux

  2. So speichern Sie die Befehlsausgabe in einer Datei unter Linux

  3. So löschen Sie den BASH-Befehlszeilenverlauf in Linux

  4. So löschen Sie den Bash-Verlauf unter Linux

  5. So verwenden Sie den Su-Befehl unter Linux

So speichern Sie die Linux-Befehlsausgabe in einem Bild oder einer Textdatei

So aktivieren Sie den Zeitstempel im Bash-Verlauf unter Linux

So entfernen Sie einen Befehl aus dem Verlauf in Linux

So überprüfen Sie den Verlauf der Linux-Befehle nach Datum

So listen Sie Benutzer und Gruppen unter Linux auf

So listen Sie alle Benutzer einer Gruppe in Linux auf