在 SCO OpenServer 5.0.7 MP5 上,在尝试使用任何基于 ssh 的实用程序时,将返回以下内容,并且不会发生任何预期的 SSH 连接:
PRNG not seeded
这是如何解决的(这种情况在重新启动后仍然存在)?
系统启动脚本在工作系统和非工作系统之间看起来相同。
针对 Linux 和各种 UNIX 给出的答案是必须验证/dev/random和/或/dev/urandom的存在或分配的权限。此 UNIX 在工作系统上没有此类设备,因此这些答案无济于事。
SELinux 是一种许可模式,可帮助避免在过渡到新的 RHEL7 服务器部署期间出现操作问题。虽然有些 SELinux 问题很容易审查和解决,但我觉得以下内容有些令人困惑。
AVC 如下:
type=AVC msg=audit(1533595368.668:140747): avc: denied { connectto } for pid=87400 comm="postdrop" path="/var/spool/postfix/public/pickup" scontext=system_u:system_r:postfix_postdrop_t:s0 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=unix_stream_socket
audit2why 说:
type=AVC msg=audit(1533595368.668:140747): avc: denied { connectto } for pid=87400 comm="postdrop" path="/var/spool/postfix/public/pickup" scontext=system_u:system_r:postfix_postdrop_t:s0 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=unix_stream_socket
Was caused by:
Missing type enforcement (TE) allow rule.
You can use audit2allow to generate a loadable module to allow this access.
audit2allow 说:
#============= postfix_postdrop_t ==============
#!!!! The file '/var/spool/postfix/public/pickup' is mislabeled on your system.
#!!!! Fix with $ restorecon -R -v /var/spool/postfix/public/pickup
allow postfix_postdrop_t unconfined_t:unix_stream_socket connectto;
该通知似乎暗示应该通过运行以下内容来纠正问题的某些部分:
# restorecon -R -v /var/spool/postfix/public/pickup
# ls -lZ /var/spool/postfix/public/pickup
srw-rw-rw-. postfix postfix unconfined_u:object_r:postfix_public_t:s0 /var/spool/postfix/public/pickup
然而,SELinux 审计记录的问题在完成后似乎没有改变,因此,显然还有更多工作要做。据推测,其中一些问题与 audit2allow 提及有关:
allow postfix_postdrop_t unconfined_t:unix_stream_socket connectto;
使用像 postfix 这样非常完善的服务的 SELinux 问题需要管理员干预,这似乎很奇怪。
解决问题的可能途径可能是:
# echo 'type=AVC msg=audit(1533595368.668:140747): avc: denied { connectto } for pid=87400 comm="postdrop" path="/var/spool/postfix/public/pickup" scontext=system_u:system_r:postfix_postdrop_t:s0 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=unix_stream_socket' \
| audit2allow -M local_postfix_pickup
# semodule -i local_postfix_pickup.pp
也就是说,在没有更好地理解为什么这样的改变应该被认为是合法的情况下,简单地做一些事情来消除审计问题似乎是不明智的。
这真的是一个标签问题,还是只是缺少“允许”的副作用,并且,任何人都可以评论这是否是一个合法的、预期的更改,管理员应该必须做出以使 postfix 安装顺利运行在 SELinux 下?
请不要建议关闭 SELinux。当然,这是一种选择,但我更愿意学习如何让它保持开启状态,并学习如何在出现这种性质的问题时识别正确的行动方案。A
注意:上述audit2allow -M ..
和semanage -i
命令确实解决了 SELinux 问题而无需重新标记,但仍不清楚重新标记是否可能避免创建策略的需要。目前尚不清楚以这种方式解决问题是否是预期的和/或正常的。
#============= postfix_postdrop_t ==============
#!!!! This avc is allowed in the current policy
allow postfix_postdrop_t unconfined_t:unix_stream_socket connectto;
最近遇到了一个非常旧的 Windows NT 4.0 终端服务器,它仍在使用中,在异地工作,并且必须进行远程支持,因此有时需要使用这个非常旧的系统。有多种 Windows 和 Linux 系统可供使用,但很明显,我可用的大多数 Windows 映像(Windows XP SP3 及更高版本)不支持连接到 Windows NT 4.0 终端服务器。
目前,访问 Windows NT 4.0 终端服务器的方式是,一个 RDP 进入 Windows XP SP3 系统,该系统具有 RDP 5.1 客户端 .exe 和 .dll 文件的侧面加载副本。然后,从那里连接到 NT 4.0 终端服务器。对我来说,这意味着进行双 RDP 跃点。
可能真的希望能够根据需要直接 RDP 到 NT 4.0 系统或 XP SP3 系统,而不必通过专门配置的 XP SP3 机器上的旧 RDP 客户端来访问 NT 4.0 系统。
为了使解决方案更好,最好从 Linux 而不是 Windows 执行此操作。相当多的在线帖子说现代 RDP 客户端不这样做,但如果认为这并不完全正确,即使大部分是正确的,也会很好。
Freerdp w/ Remmina 可以很好地连接到 XP SP3 机器,但不适用于 NT 4.0 机器。
是否有适用于 Linux 的 RDP 解决方案仍支持 RDP 4.x 连接?