linux如何定义时间变量,设置linux系统history相关变量,命令时间、保存history条数,多session共享history – 酷喃|coolnull|...

一、设置历史记录的时间

# 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

二、使用 HISTSIZE 控制历史命令记录的总行数

将下面两行内容追加到.bash_profile文件并重新登陆,history命令的记录数将变成3000条。

# vi ~/.bash_profile

HISTSIZE=3000

HISTFILESIZE=3000

HISTFILESIZE 定义了在 .bash_history 中保存命令的记录总数.

HISTSIZE 定义了 history 命令输出的记录数.

如果想禁用history, 可以设置HISTSIZE=0:

修改.bash_profile,只对当前用户的history有效,如果修改/etc/profile则对所有用户用效!

三、使用 HISTFILE 更改历史文件名称

默认情况下命令历史存储在 ~/.bash_history 文件中 。 添加下列内容到 .bash_profile 文件并重新登录bash shell, 将使用 /var/history/$USER-$UID.log 来存储命令历史 :

# vi ~/.bash_profile //输入以下内容

HISTFILE=/var/history/$USER-$UID.log

四、使用 HISTCONTROL 从命令历史中剔除连续重复的条目

在下面的例子中 ,pwd命令被连续执行了三次。执行history后你会看到三条重复的条目。要剔除这些重复的条目,你可以将HISTCONTROL设置为ignoredups

# vi ~/.bash_profile

HISTCONTROL=ignoredups //保存退出

测试,分别连续3次输入ls、pwd

# ls

# ls

# ls

# pwd

# pwd

# pwd

可以看到,只有1条ls和pwd命令

# cat .bash_history

#1436160573

ls

#1436160575

pwd

五、使用HISTCONTROL清除整个命令历史中的重复条目

上例中的ignoredups只能剔除连续的重复条目。要清除整个命令历史中的重复条目,可以将HISTCONTROL设置成erasedups

# vi ~/.bash_profile //将HISTCONTROL修改成erasedups

HISTCONTROL=erasedups

六、使用 HISTCONTROL 强制 history不记住特定的命令

将 HISTCONTROL 设置为 ignorespace, 并在不想被记住的命令前面输入一个空格

# vi ~/.bash_profile //添加以下内容

HISTCONTROL=ignorespace

# pwd

# service httpd stop //不被history记录的命令

# history | tail -3

68 pwd

69 history | tail -3

七、用户打开多个终端(产生多个session)情况下,共享history

由于bash的history文件默认是覆盖,如果存在多个终端,最后退出的会覆盖以前历史记录,改为追加形式

# vi ~/.bash_profile //添加以下内容

shopt -s histappend

八、实时追加history,不必等用户退出才将内存中的history记录到文件

# vi ~/.bash_profile //添加以下内容

PROMPT_COMMAND=”history -a”

这里补充下,history -a是追加当前session的历史命令记录到history文件,而history -w则是会用当前session的历史命令替换history文件

实例

设置uid大于等于500的用户的history安全性

需求:

记录统一转移到/var/history目录下;

用户无法删除自己的history文件,无法清空history;

多个终端共享history,实时追加;

限制history文件大小和保存的条数;

举例用户,lionel;uid=522

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统根据B/S,即所谓的电脑浏览器/网络服务器方式,运用Java技术性,挑选MySQL作为后台系统系统主要包含对客服聊天管理、字典表管理、公告信息管理、金融工具管理、金融工具收藏管理、金融工具银行卡管理、借款管理、理财产品管理、理财产品收藏管理、理财产品银行卡管理、理财银行卡信息管理、银行卡管理、存款管理、银行卡记录管理、取款管理、转账管理、用户管理、员工管理等功能模块。 文重点介绍了银行管理的专业技术发展背景和发展状况,随后遵照软件传统式研发流程,最先挑选适用思维和语言软件开发平台,依据需求分析报告模块和设计数据库结构,再根据系统功能模块的设计制作系统功能模块图、流程表和E-R图。随后设计架构以及编写代码,并实现系统能模块。最终基本完成系统检测和功能测试。结果显示,该系统能够实现所需要的作用,工作状态没有明显缺陷。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。进入银行卡列表,管理员可以进行查看列表、模糊搜索以及相关维护等操作。用户进入系统可以查看公告和模糊搜索公告信息、也可以进行公告维护操作。理财产品管理页面,管理员可以进行查看列表、模糊搜索以及相关维护等操作。产品类型管理页面,此页面提供给管理员的功能有:新增产品类型,修改产品类型,删除产品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值