Jak włączyć historię basha tylko do buforowania poleceń, które są rzeczywiście na ścieżce?

2

Włączenie historii basha jest zagrożeniem bezpieczeństwa, ponieważ po wprowadzeniu hasła do basha hasło zostanie zapisane w historii basha. Aby temu zapobiec, dobrym rozwiązaniem byłoby skonfigurowanie historii basha tak, aby nie zapisywała poleceń, których nie znaleziono w $ PATH.

Do tej pory tak ustawiam zachowanie historii

# Dont Save duplicated history lines
HISTCONTROL=irgnoredups:erasedups
HISTTIMEFORMAT="%F-%M-%S --> "
HISTIGNORE="su":"su *":"sudo *":"sudo":"his":"his *":"history":"history *":"halt":"reboot":"apt-get *":"apt-cache *":"aptitude *":"dpkg *"

# need a bigger history 
# uncomment these lines
#HISTSIZE=1000000
#HISTFILESIZE=1000000

Istnieje sposób na skonfigurowanie historii, aby przechowywała tylko polecenia znajdujące się na ścieżce?

l1zard
źródło

Odpowiedzi:

0

Przypuszczam, że można umieścić wszystkie polecenia w zmiennej.

HISTIGNORE=${HISTIGNORE}:`find ${PATH//:/ } -printf %f: |sed s/:$//`
Ярослав Рахматуллин
źródło
umm .. to przeciwieństwo tego, czego chcesz, prawda?
Ярослав Рахматуллин
Tak to jest. ale myślę, że nie da się tego rozwiązać tak łatwo. wydaje się, że potrzebuję procesu tła lub czegoś, co sprawdza, czy polecenie jest w $ PATH, czy nie. mimo wszystko dziękuję
l1zard