小编Gra*_*lls的帖子

hostnamectl 命令的意义何在?

与编辑 /etc/hostname 或其他相关的地方相反?

一定有一个很好的理由(我希望)——总的来说,我更喜欢“旧”的方式,一切都是一个文本文件。我不是想引起争议——我真的很想知道,并自己决定这是否是一个很好的理由。谢谢。

linux hostname systemd

23
推荐指数
2
解决办法
2万
查看次数

将 bash 历史记录发送到系统日志

Bash 版本 4.N 显然能够将命令历史写入 syslog,但我找不到有关如何配置它的信息。

我已经阅读了几页提供使用PROMPT_COMMAND, 和 trap 的黑客攻击的页面,我知道有一个可用的补丁,但这应该是不必要的,因为它现在是内置的。

我知道我可以auditd用来捕获命令,但我想使用 bash/syslog 组合。

bash command-history syslog

6
推荐指数
1
解决办法
6088
查看次数

overcommit_memory 和 overcommit_ratio

这是我当前的设置:

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。

我是不是误会了什么?

linux kernel memory virtual-memory

3
推荐指数
1
解决办法
1万
查看次数

Sudo:默认不允许 shell 转义

我无法弄清楚如何为任何命令禁用 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)

linux sudo

3
推荐指数
2
解决办法
3066
查看次数