banner
  首页 | 系统管理 | 数据库 | 网管技术 | 网络安全 | 应用专题 | 编程技术 | 4Aiur战网 | 博 客 | 论 坛
 
 当前位置:首页>系统管理>linux> 正文  
Linux 用户(User)查询篇
文档来源: 文档作者: 发布时间:2006-12-27  
 
 一、用户查询工具的原理;

在用户管理中,用户查询是通过几个常用的工具来完成的,比如id 、finger、groups、users ... ... ,我们都知道用户的配置文件是/etc/passwd,用户组的配置文件是/etc/groups 文件,我们对用户的查询除了通过查询工具以外,我们还能直接查看用户和用户组的配置文件来达到查询的目的;

用户查询工具的原理也是读取与用户和用户组有关的配置文件,然后按一定的规则和条件输出,用户和用户组配置文件很重要,所以您有必要先读一下关有用户管理的文档:

《Linux 用户(user)和用户组(group)管理概述》
《用户(user)和用户组(group)配置文件详解》


二、用户(User)和用户组(Group)查询工具;


1、id 工具: 查询用户所对应的UID 和GID 及GID所对应的用户组;

id 工具是用来查询用户信息,比如用户所归属的用户组,UID 和GID等;id 用法极为简单;我们举个例子说明一下;

 

语法格式: id [参数] [用户名]

至于有哪些参数,自己查一下 id --help 或man id ;如果id后面不接任何参数和任何用户,默认显示当前操作用户的用户名、所归属的用户组、UID和GID等;

实例一:不加任何参数和用户名;

[beinan@localhost ~]$ id
uid=500(beinan) gid=500(beinan) groups=500(beinan)

注解:在没有加任何参数的情况下,查询的是当前操作用户的用户名、UID 、GID 和所处的主用户组和附属用户组;在本例中,用户名是beinan,UID是500,所归属的主用户组是beinan,GID是500 ;


实例二: id 后面接用户名;

如果我们想查询系统中用户的UID和GID 相应的内容,可以直接接用户名,但用户名必须是真实的 ,能在/etc/passwd中查到的;

[beinan@localhost ~]$ id linuxsir
uid=505(linuxsir) gid=502(linuxsir) groups=502(linuxsir),0(root),500(beinan)

注解:查询用户linuxsir 的信息,用户linuxsir ,UID 为505,所归属的主用户组是linuxsir,主用户组的GID是502;同时linuxsir用户也是GID为0的root用户组成员,也是GID为500用户组beinan的成员;

这个例子和实例一在用户组方面有所不同,我们在 《Linux 用户(user)和用户组(group)管理概述》 中有提到;用户和用户组的对应关系,可以是一对一、一对多、多对一、或多对多的交叉关系,请参考之;另外您还需要掌握《用户(user)和用户组(group)配置文件详解》一文;


2、finger 工具:用来查询用户信息,侧重用户家目录、登录SHELL等;

finger 工具侧重于用户信息的查询;查询的内容包括用户名(也被称为登录名Login),家目录,用户真实的名字(Name)... ... 办公地址、办公电话;也包括登录终端、写状态、空闭时间等;

我们最常用finger 来查询用户家目录、用户真实名、所用SHELL 类型、以及办公地址和电话,这是以参数 -l 长格式输出的;而修改用户的家目录、真实名字、办公地址及办公电话,我们一般要能过chfn命令进行;


语法格式:


finger [参数选项] [用户名]
-l 采用长格式(默认),显示由-s选项所包含的所有信息,以及主目录、办公地址、办公电话、登录SHELL、邮件状态、.plan、.project和.forward;
-m 禁止对用户真实名字进行匹配;
-p 把.plan和.project文件中的内容省略;
-s 显示短格式,用户名(也被称为登录名Login)、真实名字(NAME)、在哪个终端登录(Tty)、写状态、空闲时间(Idle)、登录时间(Login Time)、办公地点、办公电话等;

 

至于finger 有哪些参数,您可以通过 finger --help 或man finger 来获取,我们在本文中以实例讲述最常用的参数;


实例一:不接任何参数,也不指定查询用户名;默认为加了-s参数;

[beinan@localhost ~]$ finger
Login Name Tty Idle Login Time Office Office Phone
beinan beinan sun tty1 1:39 Nov 2 08:27
linuxsir linuxsir open tty2 2 Nov 2 10:03 linuxsir o +1-389-866-771

等价命令

 

[beinan@localhost ~]$ finger -s

注解:不加任何参数,也没有指定查询哪个用户,finger 会以默认以短格-s 来输出登录本机的所有用户的用户名(也被称为登录名Login)、真实名字(NAME)、在哪个终端登录(Tty)、写状态、空闲时间(Idle)、登录时间(Login Time)、办公地点、办公电话等;

 

在这个例子中,有beinan用户登录,真实名字是beinan sun (这个名字是用户的真实名字,如果在添加用户时没有设置,是不会显示的),在tty1终端登录,空闭时间是1分39秒,登录时间是Nov /2/08:27 ,没有办公室名称,没有办公电话;

请对照本例中beinan用户记录的解说,我们来看看本例中的 linuxsir用户信息;应该不难。

关于写状态,如果在Tty 后面 没有任何输出,表示正在写入,如果有*出现,表示没有写入或被禁止,比如下面的例子,ftp用户没有通过终端登录系统,因为Tty是*,同时Tty后面还有一个* ,表示禁止写入或没有写入状态(当用户没有登录时);

[beinan@localhost ~]$ finger -s ftp
Login Name Tty Idle Login Time Office Office Phone
ftp FTP User * * No logins

我们可以以短格式的来查询某个用户信息以短格式输出,比如下面的例子;

[beinan@localhost ~]$ finger -s beinan

实例二:关于长格式的用户信息的输出 -l 参数的实例;

finger -l 如果不加用户名的情况下,可以列出所有通过tty登录的用户信息;如果您想查询某个用户,就直接指定用户,可以指定一个或多个;什么是tty登录?如果您在全屏文本界面操作的话,您可以通过按CTRL+F2或CTRL+F3 或CTRL+F4等, 以几个不同的用户登录到主机上,您就会看到,每个用户都有不同的tty;

 

[beinan@localhost ~]$ finger -l
[beinan@localhost ~]$ finger -l beinan linuxsir 注:可以同时查询几个用户信息,以长格式输出;

[beinan@localhost ~]$ finger beinan
Login: beinan Name: beinan sun
Directory: /home/beinan Shell: /bin/bash
On since Wed Nov 2 08:27 (CST) on tty1 2 hours 29 minutes idle
On since Wed Nov 2 10:50 (CST) on pts/0 from :0.0
No mail.
No Plan.

在本例中,所查询的用户是beinan,真实名字是beinan sun ,家目录位于 /home/beinan ,所用SHELL类型是bash ;然后就是通过哪个终端登录的,登录时间,是不是有mail ,有Plan 等;

实例三:参数组合的例子;

 

[beinan@localhost ~]$ finger -lp beinan
Login: beinan Name: beinan sun
Directory: /home/beinan Shell: /bin/bash
On since Wed Nov 2 08:27 (CST) on tty1 2 hours 36 minutes idle
On since Wed Nov 2 10:50 (CST) on pts/0 from :0.0
No mail.

注解:查询beinan用户信息,以长格式输出,并且不输出.Plan和.Project的内容;

实例四: finger -s 和w 及who的比较;

对于finger 就说这么多吧,极为简单的工具,当用到-s 参数时,您最好和w和who工具对照,看看finger -s 和w 及who的输出有什么异同,w和who是查询哪些用户登录主机的;而finger -s 呢,无论是登录还是不登录的用户都可以查;但所查到的内容侧重有所不同;自己看看例子;

 

[beinan@localhost ~]$ finger -s
Login Name Tty Idle Login Time Office Office Phone
beinan beinan sun tty1 3:03 Nov 2 08:27
beinan beinan sun pts/0 Nov 2 10:50 (:0.0)
linuxsir linuxsir open tty2 1:26 Nov 2 10:03 linuxsir o +1-389-866-771
[beinan@localhost ~]$ w
 11:30:36 up 3:04, 3 users, load average: 0.30, 0.15, 0.10
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
beinan tty1 - 08:27 3:03m 2:52 0.00s /bin/sh /usr/X11R6/bin/startx
linuxsir tty2 - 10:03 1:26m 0.01s 0.01s -bash
beinan pts/0 :0.0 10:50 0.00s 0.16s 0.00s w
[beinan@localhost ~]$ who
beinan tty1 Nov 2 08:27
linuxsir tty2 Nov 2 10:03
beinan pts/0 Nov 2 10:50 (:0.0)


3、查询登录主机的用户工具:w 、who 、users

w、who和users工具,是查询已登录当前主机的用户;另外finger -s 也同样能查询;侧重点不一样;请自己对比着看;毕竟简单,这里只是介绍 ;

 

[beinan@localhost ~]$ w
 12:09:56 up 3:43, 7 users, load average: 0.16, 0.10, 0.04
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
beinan tty1 - 08:27 3:42m 3:09 0.00s /bin/sh /usr/X11R6/bin/startx
linuxsir tty2 - 10:03 2:06m 0.01s 0.01s -bash
beinan pts/0 :0.0 11:36 1:09 0.15s 0.15s bash
beinan pts/1 :0.0 11:37 1:12 0.21s 0.21s bash
beinan pts/2 :0.0 12:02 6:52 0.09s 0.09s bash
beinan pts/3 :0.0 12:05 12.00s 0.11s 0.06s ssh xmbnnbdl@linuxsir.org -p 17007
beinan pts/4 :0.0 12:06 0.00s 0.21s 0.00s w
[beinan@localhost ~]$ who
beinan tty1 Nov 2 08:27
linuxsir tty2 Nov 2 10:03
beinan pts/0 Nov 2 11:36 (:0.0)
beinan pts/1 Nov 2 11:37 (:0.0)
beinan pts/2 Nov 2 12:02 (:0.0)
beinan pts/3 Nov 2 12:05 (:0.0)
beinan pts/4 Nov 2 12:06 (:0.0)
[beinan@localhost ~]$ users
beinan beinan beinan beinan beinan beinan linuxsir


4、groups 用户所归属的用户组查询;

groups 用法很简单,就是查询用户所归属哪个或哪些用户组;

 

语法格式: groups 用户名

实例:

 

[beinan@localhost ~]$ groups beinan 注:查询beinan所归属的用户组;
beinan : beinan 注:beinan 是beinan用户组下的成员;
[beinan@localhost ~]$ groups linuxsir 注:查询linuxsir用户所归属的用户组;
linuxsir : linuxsir root beinan 注:linuxsir用户是linuxsir用户组、beinan用户组、root用户组成员;

groups 主要是查询用户所归属的用户组名,最好和id命令相对比;这样对这两个工具都有所了解;


↑返回顶部   打印本页   关闭窗口↓  
用户名: 新注册) 密码: 匿名评论 [所有评论]
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论:
 
 推荐文档
 
 
 热点文档
·Linux编译内核详解
·rpm包的安装、删除、效验
·Linux中文件的压缩与解压
·Enterprise Linux 实战讲
·LAuS概述
·Linux 磁盘配额( Quota
·企业级Linux讲座之四(kic
·Linux 的权限
 
 相关文档
·Linux 文件类型 及文件的
·Linux 文件和目录的属性
·Linux 用户(user)和用户
·Linux 创建文件系统及挂载
·Freshrpms.net 资源介绍,
·Linux 文件系统概述
·Linux 系统中的超级权限的
·Large File Support in Li
 
Power by 4Aiur