Linux系统设置 history 相关系统变量(包括显示时间、history条数)
来源:互联网 发布:软件代码编写招聘 编辑:程序博客网 时间:2024/05/22 08:05
- 发表于 3年前
- 阅读 2634
- 收藏 7
- 点赞 1
- 评论 0
破译“粽”子代码,拿最高悬赏!>>>
一、设置历史记录的时间
编辑 /etc/profile文件
# vi /etc/profile
在文件末尾添加
export HISTTIMEFORMAT='%F %T ' #注意有个空格,为了显示时日期与命令之间有空格分割。
export HISTSIZE="10000" #默认保留10000条。
保存
重新login即可生效。
二、使用 HISTSIZE 控制历史命令记录的总行数
将下面两行内容追加到 .bash_profile 文件并重新登录 bash shell, 命令历史的记录数将变成 450 条 :
# vi ~/.bash_profileexport HISTSIZE=450export HISTFILESIZE=450
如果你想禁用 history, 可以设置 HISTSIZE=0:
三、使用 HISTFILE 更改历史文件名称
默认情况下命令历史存储在 ~/.bash_history 文件中 。 添加下列内容到 .bash_profile 文件并重新登录 bash shell, 将使用 /var/history/$USER-$UID.log 来存储命令历史 :
# vi ~/.bash_profileexport HISTFILE=/var/history/$USER-$UID.log
四、使用 HISTCONTROL 从命令历史中剔除连续重复的条目
在下面的例子中 ,pwd 命令被连续执行了三次 。 执行 history 后你会看到三条重复的条目 。 要剔除这些重复的条目 , 你可以将 HISTCONTROL 设置为 ignoredups:
# vi ~/.bash_profileexport HISTCONTROL=ignoredups保存测试# ls# ls# ls# pwd# pwd# pwd $ cat .bash_history #1436160573ls#1436160575pwd
五、使用 HISTCONTROL 清除整个命令历史中的重复条目
上例中的 ignoredups 只能剔除连续的重复条目 。 要清除整个命令历史中的重复条目 , 可以将 HISTCONTROL 设置成 erasedups:
# export HISTCONTROL=erasedups
六、使用 HISTCONTROL 强制 history 不记住特定的命令
将 HISTCONTROL 设置为 ignorespace, 并在不想被记住的命令前面输入一个空格 :
# export HISTCONTROL=ignorespace# pwd# service httpd stop(不被history记录的命令)# history | tail -368 pwd69 history | tail -3
七、用户打开多个终端(产生多个session)情况下,共享history
由于bash的history文件默认是覆盖,如果存在多个终端,最后退出的会覆盖以前历史记录,改为追加形式
shopt -s histappend
八、实时追加history,不必等用户退出才将内存中的history记录到文件
PROMPT_COMMAND=”history -a”
==================================实例,设置uid大于等于500的用户的history安全性
需求:
- 记录统一转移到/var/history目录下;
- 用户无法删除自己的history文件,无法清空history;
- 多个终端共享history,实时追加;
- 限制history文件大小和保存的条数;
举例用户,lionel;uid=522
1)配置全局环境变量文件/etc/profile
#vi /etc/profile
……# add by shenxiaoranif [ $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
- Linux系统设置 history 相关系统变量(包括显示时间、history条数)
- 设置linux系统history相关变量,命令时间、保存history条数,多session共享history
- linux下设置history显示时间
- Linux history显示时间
- history命令行详细显示(包括时间,用户)
- linux 让history显示时间
- Linux history显示时间戳
- Linux 系统 history 命令详解
- Linux 系统 history 命令详解
- 配置linux profile的history相关变量
- [Linux]history 显示命令执行的时间
- history 显示时间戳
- history显示时间格式
- history 显示时间
- CentOS - history 显示时间
- 让history显示时间
- Linux history时间用户ip设置
- Linux history时间用户ip设置
- 【详细内容】GM8284DD:28位LVDS图像接收器
- windows dos命令配置JAVA环境变量
- spark设置本地运行模式
- 1. ActivityRouter
- hive UDF函数
- Linux系统设置 history 相关系统变量(包括显示时间、history条数)
- 01 Mybatis整合Spring 由于版本引起的BUG
- [置顶] 【重点推荐】iOS开发之芝麻信用SDK的超详细使用教程
- 【Java】ArrayList<String>转化为String数组问题
- App的启动过程(7)BufferQueue的申请分配
- SQL Server 最开始的知识
- vs 2013 error RC2108: expected numerical dialog constant
- CSS-合理使用z-index控制盒子视轴高度,解决z-index失效
- HZAU 1201 Friends(树形dp)