使用 chsubserver 的 AIX 7.x inetd 和 tcp 包装器

使用 chsubserver 的 AIX 7.x inetd 和 tcp 包装器

向所有的大师和那些拥有我尚未获得和分享的知识的人致敬。

不久前,我在我的 AIX 7.1 和 7.2 LPAR 上配置了 TCP Wrappers,一旦你理清了细微差别,它就能很好地运行。

使用 chsubserver 可以轻松管理非 tcpd 服务(https://www.ibm.com/support/knowledgecenter/ssw_aix_72/c_commands/chsubserver.html) 并且我已经将其自动化并编写成脚本。

转而使用 TCP Wrapper 意味着我很难使用带有 tcp 包装器的 chsubserver 自动更改 /etc/inetd.conf。手动编辑很容易,sed/awk/grep 暂时可以作为解决方法,但正确的方法是使用 chsubserver。

任何有关构建 chsubserver 命令以从 /etc/inetd.conf 中添加和删除 TCPD 服务的帮助都将不胜感激。

以下是我当前的设置:

[root@nim]/root # oslevel -s
7200-04-01-1939
[root@nim]/root # lssrc -l -s inetd
Subsystem         Group            PID          Status 
 inetd            tcpip            20709662     active
Debug         Not active 
Signal        Purpose 
 SIGALRM      Establishes socket connections for failed services. 
 SIGHUP       Rereads the configuration database and reconfigures services. 
 SIGCHLD      Restarts the service in case the service ends abnormally. 
Service       Command                  Description              Status 
 check_mk     /usr/bin/check_mk_agent                           active
[root@nim]/root # cat /etc/inetd.conf
# service  socket  protocol  wait/  user    server    server program
#  name     type             nowait         program     arguments
#
## # ---------------------------
## # TCP Wrapper Configuration :
## # ---------------------------
check_mk  stream tcp nowait root        /usr/sbin/tcpd          check_mk_agent
#ftp    stream  tcp6    nowait  root    /usr/sbin/tcpd          ftpd -l -u027
#tftp   dgram   udp6    SRC     nobody  /usr/sbin/tcpd          tftpd -n
#bootps dgram   udp     wait    root    /usr/sbin/tcpd          bootpd /etc/bootptab
## # -------------------------------
## # Non-TCP Wrapper Configuration :
## # -------------------------------
#check_mk_agent  stream tcp nowait root /usr/bin/check_mk_agent
#ftp    stream  tcp6    nowait  root    /usr/sbin/ftpd          ftpd -l -u027
#tftp   dgram   udp6    SRC     nobody  /usr/sbin/tftpd         tftpd -n
#bootps dgram   udp     wait    root    /usr/sbin/bootpd        bootpd /etc/bootptab
[root@nim]/root # 

非常感谢你抽出时间来协助这个困惑的管理员 Michael

答案1

在实验室环境中进行一些尝试后,我让命令正常工作:

/usr/sbin/chsubserver -a -r inetd -v check_mk -p tcp -t stream -w nowait -u monitor -g /usr/sbin/tcpd check_mk_agent

为了正常工作,二进制文件必须位于 /usr/sbin 中或符号链接到 /usr/sbin(例如 /usr/sbin/check_mk_agent),并且所需的条目必须预先存在于 /etc/services 中(例如:check_mk 6556 # 检查 MK 监控)

chsubserver 命令在运行时会 HUPS inetd,但我喜欢确保并刷新 inetd 服务(refresh -s inetd)

我希望这可以为技术差的人节省一些时间:)

相关内容