一、设置历史记录的时间 # vi /etc/profile //在文件末尾添加以下内容,然后保存退出重新登陆即可 HISTTIMEFORMAT='%F %T ' //注意有个空格,为了显示时日期与命令之间有空格分割。 HISTSIZE="3000" //默认保留1000条。
export HISTTIMEFORMAT='%F %T ' 2015-07-27 10:33:58 echo from1 如果是 export HISTTIMEFORMAT='%F %T' //%T少了个空格,日期与命令就连在一起了 2015-07-27 10:33:58echo from1 # vi ~/.bash_profile HISTSIZE=3000 HISTFILESIZE=3000 HISTFILESIZE 定义了在 .bash_history 中保存命令的记录总数. # vi ~/.bash_profile //输入以下内容 HISTFILE=/var/history/$USER-$UID.log # vi ~/.bash_profile HISTCONTROL=ignoredups //保存退出 # ls # ls # ls # pwd # pwd # pwd # cat .bash_history #1436160573 ls #1436160575 pwd # vi ~/.bash_profile //将HISTCONTROL修改成erasedups HISTCONTROL=erasedups # vi ~/.bash_profile //添加以下内容 HISTCONTROL=ignorespace # pwd # service httpd stop //不被history记录的命令 # history | tail -3 68 pwd 69 history | tail -3 # vi ~/.bash_profile //添加以下内容 shopt -s histappend # vi ~/.bash_profile //添加以下内容 PROMPT_COMMAND=”history -a” 这里补充下,history -a是追加当前session的历史命令记录到history文件,而history -w则是会用当前session的历史命令替换history文件 1)配置全局环境变量文件/etc/profile # vi /etc/profile //添加以下内容 # add by coolnull if [ $UID -ge 500 ];then readonly HISTFILE=/var/history/$USER-$UID.log readonly HISTFILESIZE=50000 readonly HISTSIZE=10000 readonly HISTTIMEFORMAT='%F %T ' readonly HISTCONTROL=ignoredups shopt -s histappend readonly PROMPT_COMMAND="history -a" fi 创建目录结构 # mkdir /var/history 配置目录权限,使得用户有权限创建自己的history文件 # chmod 777 /var/history # chmod a+t /var/history 2)限制用户删除自己的history文件 # chattr +a /var/history/lionel-522.log 3)限制用户修改自己主目录的环境变量配置文件 # chattr +a /home/lionel/.bash* # lsattr /home/lionel/.bash* -----a------- /home/lionel/.bash_logout -----a------- /home/lionel/.bash_profile -----a------- /home/lionel/.bashrc 4)禁止普通用户切换到系统中其他shell环境(一般包括csh,tcsh,ksh) # chmod 750 tcsh(csh是tcsh的软连接,设置tcsh就可以了) # chmod 750 /bin/ksh 普通账号测试 [zhangfei@node1 ~]$ tcsh -bash: /bin/tcsh: Permission denied [zhangfei@node1 ~]$ ksh -bash: /bin/ksh: Permission denied 转载请注明:酷喃|coolnull| ? 设置linux系统history相关变量,命令时间、保存history条数,多session共享history |
|