如果用户loginShell=/sbin/nologin
仍然可以
ssh user@machine [command]
Run Code Online (Sandbox Code Playgroud)
假设用户在其主目录中有适当的 ssh 密钥可用于进行身份验证?
我的目标是保持用户作为 nologin,但仍然能够在网络上的其他几台机器上执行命令(类似于通过 'sudo -u' 使用),我想知道这是否是一个合理的过程。
我正在使用的机器有 4 个网络接口,目前只有其中一个正在使用(其他 3 个根本没有插入)。当前,当机器重新启动时,尝试启动接口 2-4 会延迟几分钟。这是一个非常大的烦恼,因为这台机器经常重启。
运行 dmesg 我看到:
[15] IPv6 ADDRCONF(NETDEV_UP): eth1: link is not ready
[57] IPv6 ADDRCONF(NETDEV_UP): eth2: link is not ready
[98] IPv6 ADDRCONF(NETDEV_UP): eth3: link is not ready
[140] ...
Run Code Online (Sandbox Code Playgroud)
看到这些接口没有被使用并且占用了很多时间,我想简单地禁用它们尝试启动,但我愿意接受其他选项,以减少浪费在这些接口上的时间。
我已经检查/etc/sysctrl.conf
并禁用了 IPv6,所以我不认为它会尝试 IPv6。
在 network-scripts 目录中,我为接口 2-4 创建了脚本,其中只包含它们的接口名称和ONBOOT=no
.
我还查看/sys/class/net/ethX/device/power/control
了每个界面,所有界面都包含“on”,所以我尝试了:
echo off > /sys/class/net/ethX/device/power/control
Run Code Online (Sandbox Code Playgroud)
但我得到了write error: Invalid argument
,而回声on
效果很好。我一直无法找到更改此文件的参考,但我觉得完全关闭接口似乎有点极端。
我没有安装网络管理器,如果可能的话,我更愿意保持这种方式(更喜欢配置而不是在问题上抛出更多包)。
从那以后,我已经解决了这个问题,但是为了其他可能会遇到这个问题的人,我会提到,dmesg
报告这些长时间等待的事实表明内核正在尝试启用这些接口。所以内核参数可能是一个追求的途径,或者它可能只是一个内核错误。Linux 本身的配置不太可能解决问题,grub
配置或内核本身的更改可能会解决问题。
更新
我发布的自我回答实际上确实有机会进行测试,但没有成功。但是,发布我尝试过的内容。
注意到来自dmesg
内核的消息表明内核正在执行我查看内核参数文档的操作:https : //www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
我发现有一个在接口上配置 …
Openldap(特别是版本 2.4)默认将事务历史记录存储在 ldap 数据目录中的日志文件中(so /var/lib/ldap/log.###########
)。目前这些日志文件占用大量空间,永远不会自动删除,并且会无限增长。手动删除旧日志效果很好,但我想限制slapd
自动保留的日志量。
我知道这些事务日志用于在发生灾难性故障时恢复 LDAP。在我的场景中,LDAP 会通过脚本定期擦除和填充(这不用于系统登录帐户)。因此,我不需要担心恢复,如果发生故障,再次运行脚本是可以接受的。另一方面,LDAP 的常规擦除/填充包含大量事务,因此这些事务日志会很快建立起来。
logrotate
这里有潜力,但是如果最近的事务日志被删除,那么slapd
将无法启动(它会抱怨需要执行恢复)。因为我不能依赖日志名称(因为slapd
保留许多小日志,随着日志文件数量的增加而增加),我想使用创建这些日志的 Berkeley DB 设置。我可以依靠访问/创建日期(最近的修改日期是最近的事务日志),但如果可能的话,我仍然更喜欢使用伯克利。
据说事务日志的设置是由 中的 Berkeley DB 设置控制的/var/lib/ldap/DB_CONFIG
。DB_CONFIG
openldap 附带的示例指定了一些事务日志设置:
set_lg_regionmax 262144
set_lg_bsize 2097152
Run Code Online (Sandbox Code Playgroud)
根据伯克利的 Oracle 文档:
set_lg_regionmax: Set the size of the underlying logging area of the
Berkeley DB environment, in bytes. The log region is used to store
filenames, and so may need to be increased in size if a large number of
files …
Run Code Online (Sandbox Code Playgroud)