当前位置: 移动技术网 > 科技>操作系统>Linux > 用户与用户组之用户组篇

用户与用户组之用户组篇

2019年02月02日  | 移动技术网科技  | 我要评论

史渝平,草侠,穿越小说完结

用户与用户组

1.linux 系统中有三种角色:所有者(用户),用户组与其他人,一张图可以说明用户与用户组的关系。

如图,某公司相当于一个用户组,该用户组下有a,b两个用户,用户拥有各自的私密空间和公用空间,不是该用户组下的就是其他人,其他人无法访问用户组下的内容。

2.gid 与 uid 

uid 可以理解为 user id,也就是 用户id,gid 可以理解为 group id,也就是 用户组id,这两个 id 值非常重要,一般不建议更改,比如 linux 中会根据 uid 和 gid 来判断一个文件属于哪个用户和用户组,如果随意改动 uid 和 gid,导致无法找到用户下的文件或者对文件没有了权限,会很麻烦。

用户id 的范围不同,在 linux 中代表的特性也不同,在学习对用户组操作前,先了解一下不同 uid 的范围对应的不同特性。

查看用户的 uid 和 gid  id username ,如

[root@localhost ~]# id sherlock
uid=505(sherlock) gid=505(holmes) 组=505(holmes)

3.用户组和用户常用的相关系统文件

/etc/passwd - 使用者账号咨询
/etc/shadow - 使用者账号咨询加密
/etc/group - 用户组信息

用户组

1.groupadd 新增用户组

用法:groupadd [-g gid [-o]] [-r] [-f] group

 

[root@localhost home]# groupadd holmes
[root@localhost home]# grep holmes /etc/group /etc/gshadow
/etc/group:holmes:x:505:
/etc/gshadow:holmes:!::

 

2.groupmod 修改 group 参数

-n 修改组名
-g 修改gid
[root@localhost home]# groupmod  -n demo holmes #将holmes重命名为demo
[root@localhost home]# grep demo /etc/group /etc/gshadow
/etc/group:demo:x:505:
/etc/gshadow:demo:!::

3.groupdel 删除用户组

需要保证没有用户使用该用户组作为初始用户组,如果有用户将要删除的用户组做为初始用户组,那么可以将修改用户的gid,或者删除这个用户,然后再删除用户组

[root@localhost home]# groupdel home
groupdel: cannot remove the primary group of user 'tom'
#删除 tom 用户/修改 tom 的gid后,可以进行删除操作
[root@localhost home]# groupdel home

4.gpasswd 用户管理员功能

所谓用户管理员就是为一个用户组设置管理员,管理员可以管理账户进行加入或者移出该用户组。

用法:gpasswd [option] group

gpasswd [-ad] user group

root操作
-a 将某个用户设为某个用户组的管理员
-m 将某些账号加入到用户组中
-r 将用户组的密码删除
-r 让用户组的密码栏失效
用户组管理员操作
-a 将用户加入到用户组中
-d 将用户移除用户组中
  • 创建用户组 hom e的管理员 tom (用root创建)
[root@localhost home]# gpasswd -a tom home
[root@localhost home]# grep home /etc/group /etc/gshadow
/etc/group:home:x:505:
/etc/gshadow:home:!:tom:
  • 切换到 tom 管理员下,将 jun 加入到 home 用户组中
[tom@localhost ~]$ id jun
uid=493(jun) gid=492(jun) 组=492(jun)
[tom@localhost ~]$ gpasswd -a jun home
adding user jun to group home
[tom@localhost ~]$ id jun
uid=493(jun) gid=492(jun) 组=492(jun),505(home)
  • 将 jun 移出 home 用户组下
[tom@localhost ~]$ gpasswd -d jun home
removing user jun from group home
[tom@localhost ~]$ id jun
uid=493(jun) gid=492(jun) 组=492(jun)

 用户功能

1.finger 查阅用户相关信息

用法:finger [-lmsp] [user ...] [user@host ...]

 

-s 单行显示
-l 多行显示

 

[root@localhost ~]# finger -s tom
login     name       tty      idle  login time   office     office phone
tom                   *     *  no logins
[root@localhost ~]# finger -l tom    # -l 可省略
login: tom                        name: 
directory: /home/tom                    shell: /bin/bash
never logged in.
no mail.
no plan.
  • 新建一个计划
[tom@localhost ~]$ echo "i will work hard this year" >~/.plan
[tom@localhost ~]$ finger tom
login: tom                        name: 
directory: /home/tom                    shell: /bin/bash
never logged in.
no mail.
plan:
i will work hard this year
  • 查看系统上登录的用户与登录时间
[tom@localhost ~]$ finger
login     name       tty      idle  login time   office     office phone
jun                 pts/3      7d  jan 25 14:09 (192.168.123.123)
root      root       pts/2          feb  1 19:32 (192.168.111.111)

2.chfn 修改 finger 的信息

用法:chfn [-f full-name] [-o office] ,rb [ -p office-phone] [-h home-phone] -u] [-v] [username](一般没什么用)

[tom@localhost ~]$ chfn
changing finger information for tom.
密码:
name []: tom
office []: 088-88888888 #办公室电话
office phone []: 18899990000 #办公室手机号
home phone []: 088-666666   #家里电话

finger information changed.

3.chsh 修改用户的shell

用法:chsh [-s shell] [-l] [-u] [-v] [username]

  • 查看自己的shell
[tom@localhost ~]$ chsh -l
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh
  • 修改自己的shell (一般别乱改)
[tom@localhost ~]$ chsh -s /bin/csh

关于用户的内容见 用户与用户组之用户篇 

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网