Terminalden bağlandığım bir linux sunucu var. Oluşturduğum yeni bir kullanıcı için komut geçmişi (history) yok gibi görünüyor. Bunu etkinleştirmek istiyorum.
Önce kullandığım shell'i kontrol etmem gerek.
echo $SHELL
/usr/bin/sh
ile bash'i değil, sh'i kullandığımı gördüm. Bunu değiştirerek bash yaptım.
chsh -s $(which bash)
sonra bir kez bağlantımı kesip (konsoldan bağlıysam oturumu kapatıp) tekrar oturum açmam gerek.
Sonrasında yine echo $SHELL komutunu kullanarak çıkışta /usr/bin/bash gördüm.
Komut geçmişi, profilin altında .bash_history dosyasına yazılır. Bu dosya yoksa
echo $HISTFILE
komutu ile önce bu değişkenin varlığını kontrol etmek, yoksa
export HISTFILE=~/.bash_history
satırını .bashrc dosyasına eklemek, arkasından etkinleştirmek için
source ~/.bashrc
çalıştırmak gerek.
Komut geçmişini sınırlandıran değişkenler kontrol edilebilir:
echo $HISTSIZE
echo $HISTFILESIZE
Bu değişkenlerin ilki hafızada tutulacak komut geçmişi sayısı, ikincisi diskte tutulacak geçmiş sayısıdır.
zsh için de benzer bir şekilde ~/.zsh_history dosyasında tutulur. HISTSIZE değişkeni aynen geçerlidir, HISTFILESIZE yerine SAVEHIST değişkeni kullanılır.
Daha iyi bir yöntem için audit kullanılabilir.
Hiç yorum yok:
Yorum Gönder