在以下示例中,所有来自 IP 地址为 192.168.9.24 的 ssh 和 telnet 连接都会被允许访问。一旦客户端连接上,就会执行 logger 命令。请注意在冒号(“:”) 用反斜杠转义的规则条目中保留下一个字符的值。一定要这么做,因为我们不想让 wrappers 认为这是一个分隔符,是访问规则的一部分。实际上,它是 logger 发送的消息的一部分:
1
2
telnetd,sshd:192.168.9.24 : spawn (/usr/bin/logger 'DEV BOX!!Warning!!\:
%a has connected') :allow
还要注意在之前的条目中,使用了特殊的 shell 扩展变量 %a,它们的前缀是 “%&a”。这些可以用来包含客户端信息,如果在您的消息中可以的话。常见的shell变量有:
%a - 客户端 IP 地址
%h - 客户端主机名
%c - 客户端用户名
连接成功后,logger 会通过 syslog 发送消息给 /var/adm/messages:
1
2
Oct 24 15:47:22 rs6000 user:notice root:DEV BOX!!Warning!!:192.168.9.24 has connected
Oct 24 15:47:22 rs6000 auth|security telnetd[245806]: connect from uk01dev002
还可以更改之前的规则,拒绝此 IP 地址并用 logger 通过 syslog 发送消息,例如:
1
2
telnetd,sshd:192.168.9.24 : spawn (/usr/bin/logger '* DEV BOX *!!Warning!!\:
%a has tried to connected') :deny
当访问被拒绝后,logger 会通过 syslog 发送消息给 /var/adm/messages:
1
2
3
4
Oct 24 20:02:39 rs6000 user:notice root:* DEV BOX *!!Warning!!:192.168.9.24
Tried to connect
Oct 24 20:02:39 rs6000 auth|security|warning telnetd[237744]: refused connect from
uk01dev002
您还可以使用 spawn 通过电子邮件发送给用户。在以下示例中,IP 地址为 192.168.9.24 的客户端连接允许后,会发送电子邮件给用户 secport,允许使用 telnet 或 ssh 访问该客户端:
1
2
telnetd,sshd:192.168.9.24 : spawn (/usr/bin/echo 'DEV BOX!Warning %a has connected'
|/usr/bin/mail secport) :allow |