nsswitch.conf 文件状态消息和操作选项一起决定例程在每个步骤执行的操作。状态和操作的组合构成了搜索条件。
对于每个源来说,转换器的缺省搜索条件完全相同。有关上面列出的状态消息的说明,请参见以下内容:
UNAVAIL=continue。转至下一个 nsswitch.conf 文件源并继续搜索。如果该源是最后一个源或唯一的源,则返回 NOTFOUND 状态。
NOTFOUND=continue。转至下一个 nsswitch.conf 文件源并继续搜索。如果该源是最后一个源或唯一的源,则返回 NOTFOUND 状态。
TRYAGAIN=continue。转至下一个 nsswitch.conf 文件源并继续搜索。如果该源是最后一个源或唯一的源,则返回 NOTFOUND 状态。
可以通过使用上面显示的 STATUS=action 语法明确指定某个其他条件来更改缺省搜索条件。例如,NOTFOUND 条件的缺省操作是继续搜索下一个源。例如,要指定 networks 在遇到 NOTFOUND 条件时停止搜索,请编辑转换器文件的 networks 行。 该行应如下所示:
networks: nis [NOTFOUND=return] files |
networks: nis [NOTFOUND=return] files 一行为 NOTFOUND 状态指定非缺省条件。非缺省条件由方括号分隔。
在本示例中,搜索条件按如下方式工作:
如果 networks 映射可用且包含需要的信息,搜索例程将返回 SUCCESS 状态消息。
如果 networks 映射不可用,搜索例程将返回 UNAVAIL 状态消息。缺省情况下,搜索例程会继续搜索相应的 /etc 文件。
如果 networks 映射可用且已找到,但是不包含需要的信息,搜索例程将返回 NOTFOUND 消息。但是,搜索例程将停止搜索,而不是像缺省行为那样继续搜索相应的 /etc 文件。
如果 networks 映射正忙,搜索例程将返回 TRYAGAIN 状态消息,而且会继续搜索相应的 /etc 文件(缺省操作)。
在 nsswitch.conf 文件中的查找是按照项的列出顺序进行的。但是,口令更新将以相反的顺序进行,除非使用 passwd -r repository 命令另行指定了更新顺序。有关更多信息,请参见转换器文件和口令信息。