与编辑 /etc/hostname 或其他相关的地方相反?
一定有一个很好的理由(我希望)——总的来说,我更喜欢“旧”的方式,一切都是一个文本文件。我不是想引起争议——我真的很想知道,并自己决定这是否是一个很好的理由。谢谢。
Bash 版本 4.N 显然能够将命令历史写入 syslog,但我找不到有关如何配置它的信息。
我已经阅读了几页提供使用PROMPT_COMMAND
, 和 trap 的黑客攻击的页面,我知道有一个可用的补丁,但这应该是不必要的,因为它现在是内置的。
我知道我可以auditd
用来捕获命令,但我想使用 bash/syslog 组合。
这是我当前的设置:
vm.overcommit_ratio = 50 (default)
vm.overcommit_memory = 2
Run Code Online (Sandbox Code Playgroud)
和当前内存使用情况:
[localhost~]$ free -g
total used free shared buffers cached
Mem: 47 46 0 0 0 45
-/+ buffers/cache: 1 45
Swap: 47 0 47
Run Code Online (Sandbox Code Playgroud)
根据文档我的理解是:
vm.overcommit_memory = 2
不允许过度使用内存超过 RAM 的 50% (as vm.overcommit_ratio is 50)
,但我仍然可以看到当前内存使用量为 47 GB 中的 46 GB。
我是不是误会了什么?
我无法弄清楚如何为任何命令禁用 shell 转义,以便我可以(这是一个示例!)执行以下操作:
sudo-user ALL=(ALL) NOEXEC: NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
sudoers 手册是这样说的:
一个命令可能有零个或多个与之关联的标签。有八种可能的标签值,NOPASSWD、PASSWD、NOEXEC、EXEC、SETENV、NOSETENV、LOG_INPUT、NOLOG_INPUT、LOG_OUTPUT 和 NOLOG_OUTPUT。一旦在 Cmnd 上设置了标签,Cmnd_Spec_List 中的后续 Cmnds 将继承该标签,除非它被相反的标签覆盖(即:PASSWD 覆盖 NOPASSWD 和 NOEXEC 覆盖 EXEC)
但这并没有描述如何设置多个标志。使用逗号似乎不起作用(它将第二个标签视为别名)
更好的是,我想设置一个默认值,所以上面的行是:
defaults NOEXEC
sudo-user ALL=(ALL) NOPASSWD: ALL
Run Code Online (Sandbox Code Playgroud)
我知道 sudo 可以用 noexec 编译,但这在这种情况下并不实用。我也知道这不是完整的答案 - 可以通过适当设置 LD_PRELOAD 进行颠覆,但这是一个开始。
须藤版本:
Sudo version 1.8.19p2
Sudoers policy plugin version 1.8.19p2
Sudoers file grammar version 45
Sudoers I/O plugin version 1.8.19p2
On RHEL 7.5
Run Code Online (Sandbox Code Playgroud)