Solaris 开发者安全性指南

检查 inetd

获取服务的凭证之后,可以使用 gss-server 来查看用户是否指定了 inetd。main 函数按如下方式检查 inetd

if (do_inetd) {

	 close(1);

	 close(2);

如果用户指定了使用 inetd,则程序将关闭标准输出和标准错误。然后,gss-server 会针对标准输入调用 sign_server()inetd 将使用该函数传递连接。否则,gss-server 会创建一个套接字,使用 TCP 函数 accept() 接受该套接字的连接,然后针对 accept() 返回的文件描述符调用 sign_server()

如果未使用 inetd,程序会创建连接和上下文,直到终止程序为止。但是,如果用户指定了 -once 选项,则循环将在首次连接之后终止。