第一个窗口

[root@hdss7-4 ~]# echo "

history

USER=`whoami`

USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`

if [ "$USER_IP" = "" ]; then

USER_IP=`hostname` ## 获取ip 并且存到变量中

fi

if [ ! -d /var/log/history ]; then

mkdir /var/log/history ## 判断该目录下 是否有此目录如果没有则新建且开启 777权限

chmod 777 /var/log/history

fi

if [ ! -d /var/log/history/${LOGNAME} ]; then

mkdir /var/log/history/${LOGNAME} ## 判断 /var/log/history目录下有没有 当前登录的用户文件夹,如果没有则创建且设置 300 权限 LOGNAME: 是当前登录的用户名 例如 ubuntu或root

chmod 300 /var/log/history/${LOGNAME}

fi

## 最后更改全局的HISTFILE变量

export HISTSIZE=4096 ##更改HISTFILE 大小

DT=`date +"%Y%m%d_%H:%M:%S"`

export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"

## 全局更改 HISTFILE的日志存放目录 默认 每个用户下面都有自己的bash.history 这样做是为了集中管理记录这些命令日志,

##修改了全局变量 HISTFILE 就等于修改了 全部用户的HISTFILE设置。

##所以 最终呈现的效果就是 在用户退出远程连接时 才会记录到日志中。

## 此操作 其实 就是 更改了各个用户的history存储目录且日志文件名字有所变化其他的都跟原来一样。

chmod 600 /var/log/history/${LOGNAME}/history 2>/dev/null

">>/etc/profile

[root@hdss7-4 ~]# source /etc/profile

[root@hdss7-4 ~]# useradd zhangsan

[root@hdss7-4 ~]# echo "aaaaaa" | passwd --stdin zhangsan

新开一个窗口(就是第二个窗口)

rambo@rambo:~$ ssh zhangsan@172.16.186.23

任意执行进行测试

回到第一个窗口进行查看

标签:脚本,log,HISTFILE,##,用户,USER,linux,var,history

来源: https://www.cnblogs.com/smlile-you-me/p/14429457.html

linux 登入用户记录,linux记录所有用户登陆及执行过的命令脚本相关推荐

  1. Linux登入Oracle数据库修改密码

    Linux登入Oracle数据库修改密码 1) ssh到对应服务器ssh root@IP --> password:password 2)切换到Oracle用户下,su - 使用root的环境变 ...

  2. linux登出系统,讲解Linux操作系统进入与退出系统方法

    随着Linux操作系统崛起,导致很多人在自己的电脑中舍弃了微软,都选择了Linux操作系统.于是很多人开始学习Linux操作系统,如果你是个初学者,这里你介绍Linux操作系统的一些知识,比如说进入与 ...

  3. 如何用linux登入数据库,Linux中MySQL数据库的使用①-----登录、数据库操作、表结构操作...

    启动mysql服务 systemctl start mysqld 登录mysql mysql -u root -p # 登录本机 mysql -u root -hlocalhost -P3306 -p ...

  4. linux登入系统失败20次添加黑名单

    lastb | awk '{print $3}' | sort | uniq -c | sort -nr | awk '$1>20{print $0}'| awk '{print "s ...

  5. 【错误记录】Flutter 环境安装相关问题 ( 执行 flutter doctor 命令后续错误处理 )

    文章目录 一. 缺少平台报错信息 ( Android SDK file not found ) 二. 解决方案 ( 推荐安装完整的开发环境 ) 三.许可未接受问题 ( Some Android lic ...

  6. php 模拟阿里妈妈登入,请问php通过curl如何模拟登陆阿里妈妈呢?

    登陆的时候提示:超人,您提交的页面已过期,请重新输入提交 以下是我写的模拟登陆代码,技术比较菜,勿笑,请问有什么问题呢? public function curl(){ $url='https://w ...

  7. Linux 中多终端同步 history 记录

    很多文章都是第一时间在语雀进行了更新和发布,公众号的文章只是在语雀平台的基础上进行同步的,而且更新频率也会比语雀要慢.最近弃坑简书,入驻语雀,欢迎阅读原文来语雀一起交流学习. 基本认识 Linux 默 ...

  8. linux以root账号登陆gnome,CentOS 7 - 以root身份登入Gnome

    新版的7.0很多资料没有,为了安全,linux是禁止root登录到桌面,但为了方便又想用root登录到桌面,在网上找了找,基本上都是这这一篇: http://shaoguangleo.blog.163 ...

  9. linux中如何授权限,Linux系统下,为普通用户授权。

    Linux系统下,如何为普通用户授权 编辑sudoers vi /etc/sudoers(visudo) 添加如下内容 fly ALL=(ALL) ALL  (为普通用户fly赋予root权限) 第一 ...

最新文章

  1. Django 流式响应中文csv样例
  2. Java虚拟机详解(五)------JVM参数(持续更新)
  3. 苹果截屏快捷键_新手小白用苹果电脑搞科研,学会这些才不至于尴尬!
  4. mysql log table_mysqlbinlog功能扩展--table参数
  5. linux ls不显示total,Linux中使用ls指令时total的意思
  6. 8年web前端开发老程序员告诉你如何零基础学习web前端
  7. POJ1182 食物链---(经典种类并查集)
  8. Reg Exp正则表达式
  9. 毫秒和秒的换算工具_使用后戒不掉的文档搜索工具:Everything
  10. 通过ToStringBuilder实现toString方法
  11. OLS回归模型-斯皮尔曼相关系数-数值模拟-多目标规划-养老服务床位需求预测与运营模式研究-之数学建模
  12. 第八章:项目质量管理 - (8.0 项目质量管理是什么)
  13. php打印出来乱码_PHP输出中文乱码怎么解决?
  14. Vue网易云播放器开发
  15. CEX的梅克尔树储备证明是什么?
  16. 视频聊天网站的研究、发展以及趋势
  17. RestTemplate post提交方式的一些总结
  18. 注册宝网络验证系统,安全免费的网络验证系统
  19. 64位Windows 7 中最好的杀毒软件!
  20. VC++6.0安装教程

热门文章

  1. strictmath_Java StrictMath nextAfter()方法与示例
  2. MySQL 面试,必须掌握的 8 大核心点
  3. Linux(CentOS 7)安装docker
  4. php新建文件在指定目录下,PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台...
  5. oracle截取字符串替换,oracle字符串操作:拼接、替换、截取、查找
  6. where is null mysql_SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法
  7. java @valid 密码不一致_一个成熟的Java项目如何优雅地处理异常
  8. 时分秒 java_JAVA 时分秒累加
  9. java 对象流传输socket_Java Socket(二)使用TCP传输对象
  10. win7系统更改密码策略的设置方法