我正在研究 PAM,我对某些控制标志组合的含义一无所知。从 Red Hat 文档中,我们有:
这种 PAM所需的失败将最终导致 PAM-API 返回失败,但只有在调用剩余的堆叠模块(针对此服务和类型)之后必需
等所需,然而,在这样的模块返回失败的情况下,控制被直接返回到应用程序。
这种模块的足够成功足以满足模块堆栈的身份验证要求(如果先前所需的模块失败,则忽略此模块的成功)。此模块的失败对于满足此类型已成功的应用程序而言并不认为是致命的。如果模块成功,PAM 框架会立即向应用程序返回成功,而不会尝试任何其他模块。
所以,在我的理解中,如果一个模块requisite
发生故障,整个模块栈将不会被解析,控制权会立即返回给应用程序。如果一个模块sufficient
成功,其余的模块堆栈将不会被解析,控制权将立即返回给应用程序。如果一个模块required
失败,整个堆栈将被解析。
现在,我无法理解当某个模块required
失败而另一个模块sufficient
成功时会出现什么行为。
我有一些 apache 实例使用自制生成的证书顺利运行。现在我必须使用提供的证书,但我发送的只是一个 .crt 文件。试图将其复制到正确的目录中,但是当我尝试重新启动网络服务器时,它会记录:
SSL Library Error: 185073780 error:0B080074:x509 certificate routines:X509_check_private_key:key values mismatch
Run Code Online (Sandbox Code Playgroud)
我认为这是正确的,因为 .key 文件是我自己制作的。有没有办法从 .crt 生成正确的 .key 文件?
我已经在我的 CentOS 机器上安装了 Postfix。我可以很好地使用 将邮件发送到本地帐户mutt
,但是当我尝试将邮件发送到 myactualmail@gmail.com 之类的远程邮件时,我不明白为什么我无法接收任何内容。这是我的main.cf
:
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = server.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
inet_protocols = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
unknown_local_recipient_reject_code = 550
mynetworks = 192.168.200.0/24, 127.0.0.0/8
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = …
Run Code Online (Sandbox Code Playgroud) 如果在 bash 脚本中,我有这个:
if [ $ACTION = deploy ]; then
${JAVA_HOME}/bin/java ${JVM_ARGS} weblogic.WLST << EOJ
connect('XXX','XXX','t3://XXX:8001')
jndi();
ls();
disconnect();
exit ();
EOJ
else
echo "XXX"
fi
Run Code Online (Sandbox Code Playgroud)
我认为错误出在 EOJ 中。
我想知道是否有任何手册页记录了最基本的脚本命令(如if/then/else
、while
、for each
)以及所有相关开关(如-eq
、-e
、等)的构造-ge
。
我在我拥有的 Red Hat 服务器上安装了一个非常简单的 NTP 服务器,配置非常基本:
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap
restrict -6 default kod nomodify notrap
restrict 127.0.0.1
restrict -6 ::1
restrict 192.168.200.0 mask 255.255.255.0 nomodify notrap
server 0.rhel.pool.ntp.org
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
Run Code Online (Sandbox Code Playgroud)
如果我尝试从本地主机测试它,它似乎可以正常工作:
ntpq -p localhost
remote refid st t when poll reach delay offset jitter
==============================================================================
gw-ge.esaote.co 62.48.53.90 3 u 56 64 173 81.474 -163823 67736.2
Run Code Online (Sandbox Code Playgroud)
如果我尝试从远程机器查询它,结果相同:
ntpq -p 192.168.200.151
remote refid st t when poll reach delay offset jitter
==============================================================================
gw-ge.esaote.co 62.48.53.90 3 u …
Run Code Online (Sandbox Code Playgroud) 我有一个 Solaris 10 系统。其中一个内部磁盘坏了:
c0t0d0s2 auto:sliced rootdisk1_1 rootdg online c0t0d0s2 -
c0t1d0s2 auto - - error c0t1d0s2 -
c1t0d0s2 auto:sliced rootmirror1_1 rootdg online c1t0d0s2
c1t1d0s2 auto:sliced rootmirror2_1 rootdg online c1t1d0s2 -
Run Code Online (Sandbox Code Playgroud)
当我运行该format
命令时,它会因为 c0t1d0s2 磁盘而挂起。有没有办法将它从系统中完全删除,以便format
再次工作?