在多个系统上采用唯一的“全局”用户
ID。
需要确保每个登录名称在用户登录的所有系统中具有唯一的用户 ID
号 (uid);否则,某位用户就有可能读取另一位用户的私有文件。无论主目录是否是通过
NFS 挂接的,这都是一个非常严重的潜在问题。
如果所选的 uid 在本地系统中并不唯一,SAM(以菜单形式显示的 System Administration
Manager)将会发出警告,但这远远不够。例如,如果用户 jack 在自己系统中的 uid 为 215,gid(group id,组标识)为 20,您使用相同的 uid 和 gid 在远程系统中对该用户进行了设置(例如,通过将其 /etc/passwd 条目从本地剪贴到远程系统中),而用户 jill 在远程系统中的 uid 和 gid 已经分别为 215 和 20,则用户 jack 可以读取 jill 的私有文件。
相反,假设使用 SAM 来确保 jack 在各个系统中具有唯一的
ID。SAM 确认 uid 215 在 jack 的本地系统中是唯一的,301
在 jill 的系统中是唯一的。这两个系统都利用
NFS 从文件系统中挂接了一个名为 /common_stuff 的目录。当 jack 登录到 jill 的系统时,可能会发现无法读取 /common_stuff 下属于自己的某些文件;事实上,此时他无法读取以用户读写权限或用户只读权限保存在自己系统中的任何文件。
之所以发生这种情况,是因为 HP-UX 在检查何人对某文件具有何种操作权限时,严格依据 uid 和 gid 字段进行判断;与用户名无关。
有些站点提供了一项自动服务,用于分配站点范围内的唯一 uid。如果您的站点提供有此类服务,请使用该服务;否则,您必须采用自己的方法来检查分配给每个新登录用户的 uid 在该用户能够访问的所有系统中是否唯一。