注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

NET START HERE

研究C/C++、网络/通信/协议编程、网络安全、软件安全

 
 
 

日志

 
 

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

2011-06-25 16:11:47|  分类: linux入门 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
主要概念:
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 -




 
IT心雪推荐阅读:
  评论这张
 
阅读(2389)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017