您好,登錄后才能下訂單哦!
比較Unix和linux的歷史命令記錄
這里使用的unix版本是sun 的solaris9,linux版本是centos5.5,比較二者歷史命令記錄的一些異同點來。
Solaris有個極為有用的記賬功能,通過設置日志文件對每個用戶的每一條命令進行記錄,這一功能默認是不開啟的,為了打開它,需要執行/usr/lib/acct/目錄下的accton文件,格式如下:/usr/lib/acct/accton /var/adm/pact。在sun手冊上,只有這一種用法,但這樣的缺點是明顯的,大多數有經驗的***者一定不會放過/var/adm和/var/log這兩個目錄,發現pacct文件,會獲取root用戶的命令歷史記錄,同時又可以刪除自己的記錄。這種情況其實有個很好的解決辦法,執行/usr/lib/acct/accton,后面跟一個別的目錄和文件即可。如下面:/usr/lib/acct/accton /home/log/commandlog。管理員想查看記錄時,只要把commandlog這個文件拷貝到/var/adm下,改為pacct,使用命令lastcomm命令就可以查看記錄了。如果想關閉,輸入/usr/lib/acct/accton.即可。
Linux下也有命令歷史記錄,默認下用戶輸入的命令會被記錄在~/.bash_history(以默認bash為例),可以用命令history來查看,每個用戶的命令歷史記錄都記錄在各自的文件里。
現在來說說說二者的不同,solaris里面是用syslogd來實現的記賬功能,記錄的每個用戶的每個命令,所有記錄都在同一個文件里,用lastcomm查看時,能看到執行命令的用戶和時間,但沒有記錄命令的參數。
Linux中的命令歷史記錄是由bash(以bash為默認shell)來完成的,記錄是各自用戶的每個命令,并且記錄了命令的參數,但默認是沒有顯示執行命令的時間的,可以通過設置,讓history命令顯示命令執行的時間。如下面的設置:
# vi /etc/bashrc
添加下面三行
# 讓系統記錄每條歷史命令的執行時間。注意最后的"號前面要放個空格
export HISTTIMEFORMAT=""%Y-%m-%d_%H:%M:%S "
# 設置保存歷史命令的文件大小
export HISTFILESIZE=1000000
# 保存歷史命令條數
export HISTSIZE=2000
保存退出
執行命令 source /etc/bashrc使配置立即生效。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。