如何在管理员级别在 Debian Squeeze 中打开 PAM 调试?
我已经检查了我能找到的所有资源。谷歌,联机帮助页,等等。我还没有尝试过的唯一一件事(我根本不敢尝试,我有没有提到我讨厌 PAM?)是深入研究 PAM 的库源。
我试图谷歌寻找解决方案,什么都没有。到目前为止我发现了什么:
http://www.bitbull.ch/wiki/index.php/Pam_debugging_funktion(/etc/pam_debug)和
http://nixdoc.net/man-pages/HP-UX/man4/pam.conf.4.html(debug对PAM项选项在/etc/pam.d/)。
不,不起作用。 没有 PAM 输出,什么都没有,绝对安静。
在寻找解决方案时,我什至点击了 Pam 的链接,即德国的加油站。嗯,是的,也许在所有这些十亿次点击中可能隐藏着一个线索,但是开枪打我我会在我发现之前就死了。
休息是仅供参考:
我遇到了什么问题?
升级到 Debian Squeeze 后,有些东西变得很奇怪(好吧,嘿,它曾经是,呃,Etch 上的东西……啊,是的,Woody)。所以这可能不是 Debian 的错,只是一个长期存在的错误设置。我立刻有印象它必须与 PAM 做一些事情,但我真的不知道发生了什么。我完全在黑暗中,独自一人,像婴儿一样无助,YKWIM。有些 ssh 登录有效,有些则无效。这有点好笑。没有线索ssh -v,没有线索/var/log/*,什么都没有。只是“身份验证成功”或“身份验证失败”,有时同一用户同时登录一个会话成功,而另一个会话失败。没有什么是你真正可以掌握的。
在挖掘了大量其他选项后,我能够找到答案。有nullok和nullok_secure,这是Debian 的特色。某些事情搞砸了/etc/securetty,取决于tty(有点随机)登录是否被拒绝。真的很好,呸!
修复很容易,现在一切都很好了。
然而,这给我留下了一个问题,未来如何调试这样的烂摊子。这不是 PAM 第一次让我发疯。所以我想看到一个最终的解决方案。“已解决”中的最终结果,而不是“世界末日”中的最终结果。谢谢。
啊,顺便说一句,这再次坚定了我的信念,即自从 PAM 出现以来,讨厌它是件好事。我提到过吗?
在 Windows Server 2012 R2 中,我找不到为通常管理磁盘的 CD/DVD 驱动器重新分配驱动器号的选项。所以我可以为硬盘重新分配,但不能为光驱重新分配?是什么赋予了?
由于compmgmt.msc运行服务器管理器,我想知道我应该使用哪种方法。
那么如何在 Windows Server 2012 R2 上重新分配光驱的驱动器号而不需要通过箍?
是否有一种直接的方法可以找到绑定 KVM 来宾的 VNC 屏幕(即端口号减去 5900)?
我的来宾都配置为在启用 VNC 的情况下运行,但它们占用端口的顺序是随机的。
或者,有没有办法在(来宾或主机的)配置中分配它们,这样每个来宾将占用一个预定义的端口?!
我正在尝试运行此脚本,但在修改时出现不同的错误。这是代码和输出。请帮忙。
在帖子末尾更新调试信息
#!/bin/bash
(( $# != 1 )) && { echo >&2 "Usage: $0 \"[COMMAND]\""; exit 1; }
servers_addresses=(10.10.10.10 )
for server_address in ${servers_addresses[@]}; do
expect <<EOF
spawn ssh -t root@$server_address "$*"
expect -timeout 2 "Are you sure you want to continue connecting (yes/no)?" { send "yes\n" }
expect "s password:" { send "Correct_Password\n" }
expect "s password:" { send "Wrong_Password_22222\n" }
expect "s password:" { send "Wrong_Password_33333\n" }
expect eof
EOF
done
Run Code Online (Sandbox Code Playgroud)
输出是这样的:
goldberg188@Test-Server ~$ ./test.sh "sudo cat /etc/hosts" …Run Code Online (Sandbox Code Playgroud) 如何配置 OpenSSH (5.9) 以拒绝一组给定的公钥?
我知道我可以从每个相应的.ssh/authorized_keys文件中删除密钥,但我想在服务器范围内执行此操作。想象一个私钥被泄露的场景,我想阻止任何用户将各自的公钥放入他们的authorized_keys(是的,他们仍然应该被允许编辑他们的)并且它可以工作。为了实现这一点,我需要一些在系统级别工作的东西。
mytop工作所需的最低权限集是什么,而实际上不需要超级用户权限。
我对必须将密码保存在配置文件中的事实感到不舒服(不太理想的替代方法是命令行),所以我想尽量减少影响,以防有人看到密码。密码仍将仅在这一个地方使用,但我不希望为运行 mytop 的(MySQL)用户提供不需要的权限。
该mytop文档没有提到任何内容,所有示例都假设root.
我想要实现的是以下内容。假设我们有一个类似于以下的剧本:
---
- hosts: local
tasks:
- ini_file:
path: test.ini
create: yes
section: "{{???}}"
option: "{{???}}"
value: "{{???}}"
loop: "{{inidict ...???}}"
vars:
inidict:
section1:
option1: value1
option2: value2
section2:
option1: value1
option2: value2
Run Code Online (Sandbox Code Playgroud)
上面的剧本是无效的,因为其中有几行???。
现在我的目标是将此字典映射到 INI 文件中的部分/选项/值,并获得以下 INI 内容:
[section1]
option1 = value1
option2 = value2
[section2]
option1 = value1
option2 = value2
Run Code Online (Sandbox Code Playgroud)
不幸的是,这似乎失败了,因为我需要为循环添加二级嵌套,以某种方式循环遍历外部循环中的部分,然后遍历内部循环中的选项/值。
有没有比在角色中包装一个循环级别并include_role在传递节名称和列表选项/值作为变量?
我想一种替代方法可能是以某种方式“展平”字典,从而产生相当于(YAML)的东西:
vars:
inicontents:
- section: section1
key: option1
value: value1
- section: section1
key: option2
value: value2 …Run Code Online (Sandbox Code Playgroud)