ckuseracct 子例程
用途
检查用户帐户的有效性。
库
安全性库 (libc.a)
语法
描述
注: 此子例程已过时,仅为向后兼容性而提供。 使用 login起到限制作用 子例程,它执行 ckuseracct 子例程函数的超集。
ckuseracct 子例程检查由 Name 参数指定的用户帐户的有效性。 Mode 参数提供帐户使用方式, TTY 参数定义用于访问的终端。 ckuseracct 子例程检查以下条件:
- 帐户存在
- 帐户到期
Mode 参数指定其他特定于方式的检查。
参数
| 项 | 描述 |
|---|---|
| 名称 | 指定要验证其帐户的用户的登录名。 |
| 方式 | 指定使用方式。 下面列出了 login.h 文件中定义的有效值。 Mode 参数必须是下列其中一项或 0:
|
| TTY | 指定发端活动的终端。 如果此参数是空指针或空字符串,那么不会执行 TTY 源检查。 |
安全性
| 项 | 描述 |
|---|---|
| 访问的文件: |
| 方式 | 文件 |
|---|---|
| R | /etc/passwd |
| R | /etc/安全性/用户 |
返回值
如果帐户对指定的用法有效,那么 ckuseracct 子例程将返回值 0。 否则,返回值为-1并将errno全局变量设置为相应的错误代码。
错误代码
如果下列其中一个或多个为 true ,那么 ckuseracct 子例程将失败:
| 项 | 描述 |
|---|---|
| ENOENT | 在 Name 参数中指定的用户没有帐户。 |
| ESTALE | 用户的帐户已到期。 |
| EACCES | 指定的终端无权访问指定的帐户。 |
| EACCES | Mode 参数为 S_SU,并且不允许当前进程使用 su 命令来访问指定的用户。 |
| EACCES | 在指定的 方式中不允许访问帐户。 |
| EINVAL | Mode 参数不是 S_LOGIN, S_SU, S_DAEMON和 S_RLOGIN之一。 |