ubuntu – Linux综合命令行历史

前端之家收集整理的这篇文章主要介绍了ubuntu – Linux综合命令行历史前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有ubuntu服务器.在服务器上,允许多个用户操作.他们使用ssh.

我需要在一个地方显示所有命令行历史记录,显示时间,用户和命令.另外,我想阻止用户编辑历史文件.一般来说,我需要记录他们在服务器上执行的操作,并防止他们修改记录.

这有什么解决方案吗?

我相信它应该是可能的.我首先要为每个用户创建一个日志文件(因为我不确定共享池化历史文件的副作用).
所以为了举个例子,我要去
mkdir /var/log/history
touch /var/log/history/soneil
chown root:soneil /var/log/history/soneil
chmod 660 /var/log/history/soneil

所以我有一个由root拥有的历史文件,但’soneil’可以写入.

然后,有点魔术:chattr a / var / log / history / soneil

现在’soneil’只能附加到历史上,除了root之外别无其他.

所以我准备好了我的日志文件,我只需要使用它.

在/ etc / bashrc中(在Ubuntu上我注意到这是/etc/bash.bashrc):

export HISTFILE=/var/log/history/$USER
readonly HISTSIZE
readonly HISTFILE
readonly HISTIGNORE
readonly HISTCONTROL

readonly内置是相当不言自明的,我相信也可以同样适用于SvenW的功能.

经测试,这与普通历史文件有同样的问题;它是在注销时编写的,并没有带时间戳.所以订购活动会很混乱.我想如果我必须自己做这件事,我会补充道

PROMPT_COMMAND="history -a;$PROMPT_COMMAND"
readonly PROMPT_COMMAND

每次绘制新提示时强制将历史记录刷新到磁盘.还有一个HISTTIMEFORMAT envar会将时间戳添加到历史文件中,但是采用相当不漂亮的格式(将var设置为更漂亮的格式只会影响’history’的输出,而不会影响文件本身的内容).

原文链接:https://www.f2er.com/ubuntu/347768.html

猜你在找的Ubuntu相关文章