UNIX系统口令文件,这些字段包含在<pwd.h>中定义的passwd结构中。

关于这些登录项,请注意下列各点:

  • 口令文件项中的某些字段可能是空。如果加密口令字段为空,这通常就意味着该用户没有口令(不推荐这样做)。squid登录项有一空白字段:注释字段。空白字段不产生任何影响。
  • 为了阻止一个特定用户登录系统,除使用/dev/null外,还有若干种替代方法。常见的一种方法是,将/bin/false用作登录shell。它简单地以不成功(非 0)状态终止,该shell将此种终止状态判断为假。另一种常见方法是,用/bin/true禁止一个账户。它所做的一切是以成功(0)状态终止。某些系统提供nologin命令,它可打印定制的出错信息,然后以非0状态终止。
  • 提供finger(1)命令的某些UNIX系统支持注释字段中的附加信息。其中,各部分之间都用逗号分隔:用户姓名、办公地点、办公室电话号码以及家庭电话号码等。另外,如果注释字段中的用户姓名是一个&,则它被替换为登录名。

使用finger命令就可打印SteveRago的有关信息。

finger -p amy

结果:

Login: amy                        Name: amy
Directory: /home/amy                    Shell: /bin/bash
On since Mon Mar 26 10:25 (CST) on tty7 from :0
   8 hours 9 minutes idle
No mail.

POSIX.1定义了两个获取口令文件项的函数。在给出用户登录名或数值用户ID后,这两个函数就能查看相关项。

#include <pwd.h>

struct passwd *getpwuid(uid_t uid);
struct passwd *getpwnam(const char *name);
//两个函数返回值:若成功,返回指针若出错,返回NULL

results matching ""

    No results matching ""