您的位置:首页 > 运维架构 > Linux

linux用户组、/etc/group文件及账户相关操作命令

2013-05-07 11:16 731 查看
主要概念:

1、基本上,一个组就是一个整数组ID(gid)

lzgonline:x:500:

2、每个在系统上运行的进程都是属于一个组的集合(gids)

3、/etc/group 文件把组ID映射到组名称和组成员身上

/etc/group文件存储格式(组名称:组密码:组ID:组成员

root:x:0:root

lzgonline:x:500:

字段解释:

组名称:每个组都有一个组名称

组密码:可以给组提供一个密码,一般很少这么做

组ID:像用户ID一样,linux内核使用ID来识别

组成员:定义组成员用户名列表,用半角逗号隔开

4、文件系统中的每个文件有唯一的组ID,就像拥有唯一的所有者ID一样

drwxrwxr-x. 2 lzgonline lzgonline 4096 6月 23 23:47 coding

drwxr-xr-x. 2 lzgonline lzgonline 4096 6月 23 22:03 公共的

5、用户有一个在/etc/passwd 文件中定义的主要组(第4个字段定义)

root:x:0:0:root:/root:/bin/bash

6、用户可以在/etc/group 文件中定义多个次要组(例从下面可以看到root用户属于多个组)

root:x:0:root

bin:x:1:root,bin,daemon

daemon:x:2:root,bin,daemon

sys:x:3:root,bin,adm

adm:x:4:root,adm,daemon

disk:x:6:root

wheel:x:10:root

7、在redhat企业版中,用户的主要组几乎总是与用户名相同

/etc/passwd 文件:lzgonline:x:500:500:liuzhigong:/home/lzgonline:/bin/bash

/etc/group文件: lzgonline:x:500:

8、文件系统上的每个文件有一个用户所有者和一个组所有者

如何在linux中查询一个组有哪些用户?

执行cat /etc/group | less 命令,寻找相应的组名称,查看其最后一个字段即可

如何在linux中查询一个用户属于哪些组?

执行cat /etc/group | grep username 即可(将username替换为查找的用户名)

相关命令讲解

1、linux id 命令详解

作 用:用于输入username和当前用户的信息

语  法:id [-gGnru][--help][--version][用户名称]

参  数:

  -g 或 --group  显示用户所属群组的ID。

  -G 或 --groups  显示用户所属附加群组的ID。

  -n 或 --name  显示用户,所属群组或附加群组的名称。

  -r 或 --real  显示实际ID。

  -u 或 --user  显示用户ID。

  --help  显示帮助。

  --version  显示版本信息。

不加任何参数时,该命令报告用户的用户ID、主要组和主要组ID、用户所属的所有组的组名称和组ID

[root@lzgonline ~]# id

uid=0(root) gid=0(root) 组=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

whoami 命令

作 用:显示当前用户的用户名,与 id -un 等效

[root@lzgonline ~]# whoami

root

[root@lzgonline ~]# id -un

root

users、w和who命令

作 用:查看当前都有谁登录了系统

users //简单地打印当前已登录用户列表

[root@lzgonline ~]# users

lzgonline lzgonline lzgonline lzgonline

who //列出当前登录用户的详细信息

[root@lzgonline ~]# who

lzgonline tty1 2011-06-23 22:35 (:0)

lzgonline pts/1 2011-06-23 22:48 (:0.0)

lzgonline pts/2 2011-06-24 01:13 (192.168.229.1)

lzgonline pts/3 2011-06-24 02:31 (192.168.229.1)

w //列出当前已登录用户,提供最详细的信息

[root@lzgonline ~]# w

03:29:07 up 5:01, 4 users, load average: 1.04, 0.94, 0.51

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

lzgonlin tty1 :0 22:35 5:01m 9.08s 0.17s pam: gdm-passwo

lzgonlin pts/1 :0.0 22:48 4:40m 0.00s 0.00s /bin/bash -l

lzgonlin pts/2 192.168.229.1 01:13 1:09m 0.23s 0.22s sshd: lzgonline

lzgonlin pts/3 192.168.229.1 02:31 1.00s 1.11s 0.70s sshd: lzgonline

linux下用户切换命令

1、su 命令可以让用户切换到其他用户ID(su 代表 switch user 而不是 superuser

2、su 命令通常用连字符调用,如 su - ,指明用户应该作为新用户有效登录

3、newgrp 命令(sg),让用户切换主要组ID(switch primary group

需要注意的问题

1、为了使新用户完全登录,su 命令需使用连字符 - 调用,这指定了新用户的Shell应该是登录Shell,登录Shell非登录Shell之间的区别以及环境变量的使用这里不讨论,只需记住一点:要完全成为新用户,su命令应该使用连字符 - 和用户名

2、切换为root用户使用 su -

转载地址:http://liuzhigong.blog.163.com/blog/static/178272375201152541147939/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: