正文
linux历史命令审计 linux历史记录命令
小程序:扫一扫查出行
【扫一扫了解最新限行尾号】
复制小程序
【扫一扫了解最新限行尾号】
复制小程序
linux查看历史命令记录及时间(linux查看历史命令执行时间)
1."linux查看历史命令,为您提供linux查看历史命令图文信息,打开linux客户端。
2.点击连接linux按钮。
3.输入用户名,主机ip地址。
4.输入密码。
5.显示连接成功,就可以进行操作。
6.输入history命令,即可返回命令的历史记录。
Linux下记录所有用户的操作命令,以方便后期审计
再后面追加:
保存退出后,执行 source /etc/profile 让配置生效。
所有操作命令记录存放在/var/log/cmd/{用户}/目录下,即使是同一个终端几个不同的窗口,在该窗口退出或关闭时,该用户目录下会生产一个文件,多个窗口会生产多个文件,最后只要查看这些文件内容,就可以看出历史操作了。
本文转自:
如何查看Linux中各个用户的历史操作命令
1、首先打开Linux直接输入一个history即可。
2、然后如果想执行历史中的某个命令,直接感叹号加行号即可。
3、还可以运用感叹号加命令的起始字符即可调出历史命令。
4、输完了以后按回车你就会看到命令起作用了。
5、然后就会显示Linux中各个用户具体的操作时间和操作,通过以上步骤即可解决查看Linux中各个用户的历史操作命令的问题。
Linux用户命令记录
很多情况下我们需要记录用户执行过的命令,不管是root还是其linux历史命令审计他普通用户,我们可以通过以下方式来记录。
PROMPT_COMMAND会在命令执行前执行。
$(who am i |awk '{print \$2,\$5}') 会输出登录用户用的tty和登录服务器的远程电脑IP或者主机名。
$PWD 是内建变量,显示当前执行命令的工作目录。
history 1 | { read x cmd; echo ${cmd}; 会输出最后一条历史命令中的执行信息。
为linux历史命令审计了不让用户修改变量,使用 declare -rx 命令定义了只读环境变量。这里要注意使用 readonly 命令也可以定义只读变量,但是用户用env命令看不到,只有用 export PROMPT_COMMAND 命令将变量设置为环境变量后才能看到。
变量加到 /etc/bashrc 是因为用户登录后会加载这里的配置,包括 sudo sudo su sudo su - su root su - root 。如果加到其linux历史命令审计他文件里则部分命令后就不会加载变量,自行尝试。
修改rsyslog是可以自定义日志输出的文件路径和名字,用 logger -p 这个命令配合使用。
新增logrotate配置则是需要切割日志,防止单个日志文件太大,以及做好切割备份,方便查询。
【一】
在 /etc/profile 最后添加如下行,则日志会直接输出到 messages 日志里。
这种方式:不定义日志格式,直接将日志写到messages日志文件里,和其他日志放一起,但是可以指定日志标签,方便检索。
缺点是(1)会导致日志增大,并且用户提权后因-t标签的存在,导致不会记录提权前的用户。(2)不能自定义日志路径。
【二】
缺点:用户可以删除日志文件。
因为普通用户和root都要往日志文件里写,所以需要给普通用户加一个附加组;并且如果日志文件不存在,普通用户登录后也需要新建,所以普通用户必须有日志文件父目录的写权限。为了能让所有普通用户都可以写,就给Command目录加了SGID权限以及修改目录属组为audit。这样普通用户在这个目录下创建的日志文件的属组会自动继承Command目录的属组,也就是audit。 (umask 002 touch $HISTORY_FILE) 命令则是因为root用户生成的日志文件权限是644,属组没有写权限。所以这里用 启动子shell并修改umask的方式生成日志文件。这样就不会修改root默认的 0022 的umask。
其他审计软件:
免费2个月
Linux 主机审计
Linux 主机审计
Linux操作系统可以通过设置日志文件可以对每个用户的每一条命令进行纪录,不过这一功能默认是没有打开的。
开启这个功能的过程:
# touch /var/log/pacct
# action /var/log/pact
也可以用自已的文件来代替/var/log/pacct这个文件。但必须路径和文件名的正确。
sa命令与 ac 命令一样,sa 是一个统计命令。该命令可以获得每个用户或每个命令的进程使用的大致情况,并且提供了系统资源的消费信息。在很大程度上,sa 又是一个记帐命令,对于识别特殊用户,特别是已知特殊用户使用的可疑命令十分有用。另外,由于信息量很大,需要处理脚本或程序筛选这些信息。
lastcomm命令, 与 sa 命令不同,lastcomm 命令提供每一个命令的输出结果,同时打印出与执行每个命令有关的时间印戳。就这一点而说,lastcomm 比 sa 更有安全性。如果系统被入侵,请不要相信在 lastlog、utmp、wtm中记录的信息,但也不要忽略,因为这些信息可能被修改过了。另外有可能有人替换了who程序来掩人耳目。通常,在已经识别某些可疑活动后,进程记帐可以有效的发挥作用。使用 lastcomm 可以隔绝用户活动或在特定时间执行命令。
3、使用logrorate对审计文件管理
/var/log/utmp,/var/log/wtmp和/var/log/pacct文件都是动态的数据文件。wtmp和pacct文件是在文件尾部不断地增加记录。在繁忙的网络上,这些文件会变得很大。Linux提供了一个叫logrotate的程序,它允许管理员对这些文件进行管理。
Logrotate读取/etc/logrotate.d目录下的文件。管理员通过该目录下的脚本文件,控制logrotate程序的运作。一个典型的脚本文件如下:
{
rotate 5
weekly
errors root@serve1r
mail root@server1
copytruncate
compress
size 100k
}
脚本文件的含义如下:
● rotate 5——保留该文件一份当前的备份和5份旧的备份。
● weekly——每周处理文件一次,通常是一周的第一天。
● errors——向邮件地址发送错误报告。
● mail——向邮件地址发送相关的信息。
● copytruncate——允许进程持续地记录,备份文件创建后,把活动的日志文件清空。
● compress——使用gzip工具对旧的日志文件进行压缩。
● size 100k——当文件超过100k 时自动处理。
linux历史命令审计的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux历史记录命令、linux历史命令审计的信息别忘了在本站进行查找喔。