GNU/Linux >> Znalost Linux >  >> Linux

Jak uložit historii příkazů vybraných uživatelů v Linuxu

Velmi silný a skvělý příkaz v Bash je historie. Jednoduše řečeno, ve výchozím nastavení bude Bash ukládat historii všech příkazů, které zadáte. Hodnota proměnné HISTSIZE určuje počet událostí uchovaných v seznamu historie během relace. Ačkoli výchozí hodnota pro HISTSIZE je 500, možná ji budete chtít nastavit na pohodlnější hodnotu, například 10 000. Když opustíte shell, poslední provedené příkazy se uloží do souboru daného proměnnou HISTFILE (výchozí je .bash_history ve vašem domovském adresáři). Tento příspěvek popisuje kroky k uložení historie příkazů konkrétního uživatele v Linuxu.

1. Vytvořte nový skupinový monitor. Přidání uživatelů do něj musí být monitorováno jako sekundární skupina.

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

Například:

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

2. Vytvořte adresář /var/log/shelllogs, kam se bude ukládat historie shellu.

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

3. Vytvořte skript v /etc/profile.d s upraveným formátem historie, aby byl exportován při každém přihlášení uživatele.

# 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. Upravte /etc/bashrc a přidejte následující řádek na konec souboru.

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)

Přihlaste se ke stejnému serveru prostřednictvím jiné relace ssh/putty, abyste zajistili vytváření souborů.


Linux
  1. Jak používat příkaz historie v Linuxu

  2. Jak používat Su Command v Linuxu

  3. Jak spravovat historii příkazů Linuxu

  1. Jak uložit výstup příkazu do souboru v Linuxu

  2. Jak vymazat konkrétní příkaz z historie Bash v Linuxu

  3. Příkaz historie Linuxu

  1. Jak používat příkaz historie Linuxu

  2. Jak vymazat historii příkazového řádku BASH v Linuxu

  3. Jak vymazat historii Bash na Linuxu