小编Geo*_*e Y的帖子

如何记录 Linux 上特定命令的执行情况,无论该命令来自何处?

rm诸如、kill和之类的危险命令systemctl stop 可以隐藏在 bash 输入之外 - 即,恶意用户可以使用模块轻松地将它们隐藏在 python 脚本中os,只需运行 python 脚本作为代理即可隐藏他们真正想要伤害的内容,以及 bash 历史记录或类似的事情只会留下他们python3 [the malicious script].py在删除该脚本之前运行的记录以隐藏他们真正所做的事情。

我想做的是在每次执行这些关键命令时记录这些关键命令(欢迎指出超过 3 个命令的任何命令),无论它来自哪里。并且该日志不能被除 root 之外的任何用户丢弃。

security linux selinux

7
推荐指数
1
解决办法
1007
查看次数

root 如何启动一个只有 root 才能杀死的进程?

在后台启动进程或将其作为systemd服务很容易。

然而,如果我想启动一个进程来监视Linux机器上的活动,那么它就成为了攻击的目标。如果任何用户想做坏事,它会首先通过简单地执行或 来终止该进程,即使他们只是sudoers 或wheel用户。killsystemctl stop

有没有办法强制执行只能杀死的进程root


伙计们,只要想到连rsyslog服务都可以被杀死,你就应该承认 Linux 确实是多么脆弱。这就像飞行员可以关闭黑匣子一样。有航空公司允许这种情况发生吗?或者是否有人给飞行员一份允许名单,以阻止他们采取任何措施来拯救飞机?当然,飞行员可以让飞机坠毁,但黑匣子会记录下来。

从安全角度来看,我关于禁止名单的提议是合法的,尽管它可能会让你感到害怕。所以不要试图责怪提出问题的人,好吗?

permissions audit rsyslog administrative-privileges

4
推荐指数
3
解决办法
5680
查看次数

如何找到 systemd 服务无法启动的确切原因(服务的单元文件设置错误)?

这真的很烦人,systemd只回应我的服务文件配置错误,但没有具体指出错误在哪里:

\n

/lib/systemd/system/auto_pgha.service:

\n
[Unit]\nDescription=PostgreSQL High Availability\nAfter=network.service\nAfter=firewalld.service\n\n\n[Service]\nType=simple\nWorkingDirectory=/etc/repmgr\nExecStartPre=/bin/bash -c 'echo -e "\\n"  `date +"%Y/%m/%d %a, %X"`": STARTING \\n"  >> pgha.log'\nExecStart=/bin/bash -c "python3 pg_high_availability.py  &>> pgha.log"\nRestart=always\nRestartSec=3\n\n[Install]\nWantedBy=multi-user.target\n
Run Code Online (Sandbox Code Playgroud)\n

在目录内/etc/repmgr这两个命令运行得很好。但 systemd 服务只是响应了一个错误:

\n
# systemctl start auto_pgha\nFailed to start auto_pgha.service: Unit auto_pgha.service has a bad unit file setting.\nSee system logs and 'systemctl status auto_pgha.service' for details.\n\n# systemctl status -l auto_pgha\n\xe2\x97\x8b auto_pgha.service - PostgreSQL High Availability\n     Loaded: bad-setting (Reason: Unit auto_pgha.service has a bad unit file setting.)\n......\nauto_pgha.service: Unit configuration has …
Run Code Online (Sandbox Code Playgroud)

systemd systemd-service

2
推荐指数
1
解决办法
2807
查看次数

`nohup` 不能与 `&&` 一起正常工作

我想要延迟后台执行,对于我sleep [anyseconds] && [execution]使用的后台延迟nohup

单独的简单例子nohup

nohup date &>> out.log &

当然,您可以找到datein执行的打印结果out.log

但我想延迟执行,比如15秒,所以有点组合:

nohup sleep 15 && date &>> out.log &

这次它无法正常工作,sleep 15被执行,而date并不总是如此 - 如果您关闭终端,它不会在&&.

出什么问题了nohup?它屈服于&&??

nohup

0
推荐指数
1
解决办法
2578
查看次数