“用户,是指所有接受某一项产品服务的客体,不单指某一类人,泛指所有享受服务的客服。”在linux操作系统中,用户是指登录并使用系统的人。而用户组,是将一群具有相同特征或者权限的用户聚集起来形成一个集中管理的小组。用户组的存在,简化了运维人员的管理工作。
在linux中,用户分为root用户和普通用户。root用户默认拥有对系统的最大权限。而普通用户的权限一般是通过root用户授权给予的。
下面我们使用root用户登录系统,演示下普通用户和用户组的创建与管理。在演示之前,我们先看下用户与用户组的配置文件。
一、配置文件
[root@server02~]#cat/etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin ...... postfix:x:89:89::/var/spool/postfix:/sbin/nologin chrony:x:997:995::/var/lib/chrony:/sbin/nologin user1:x:1000:1000::/home/user1:/bin/bash user2:x:1001:1001::/home/user2:/bin/bash user3:x:1002:1002::/home/user3:/bin/bash
整个passwd配置文件每一行代表一个用户。每行又通过“:”分割成7段。每段都有特殊的涵义。
第一段:用户名; 第二段:密码,后期以密文形式放在/etc/shadow文件内; 第三段:UID,CentOS7中普通用户的UID从1000开始; 第四段:GID; 第五段:用户注释说明,普通用户一般为空; 第六段:家目录; 第七段:shell。
[root@server02~]#cat/etc/shadow root:$6$WoqReoR6$hX......swZsJ02EoK6n1:17315:0:99999:7::: bin:*:17110:0:99999:7::: ...... postfix:!!:17312:::::: chrony:!!:17312:::::: user1:!!:17315:0:99999:7::: user2:!!:17315:0:99999:7::: user3:$6$4LuFZLgC$wfEq......9W6DoNF4vu.h.:17315:0:99999:7:::
shadow文件与passwd对应,也是一行代表一个用户的密码信息。该文件每行分为9段。每段各有涵义。
第一段:用户名; 第二段:加密密码,不设定密码默认为“!!”; 第三段:从1970年1月1日到上次修改密码的时间; 第四段:密码多少天后才能修改; 第五段:密码多久会过期; 第六段:密码过期前多少天预警; 第七段:密码过期后延迟多少天锁定账号; 第八段:账户生命周期; 第九段:保留值。
[root@server02~]#cat/etc/group root:x:0: bin:x:1: ...... postfix:x:89: chrony:x:995: user1:x:1000: user2:x:1001: user3:x:1002: [root@server02~]#cat/etc/gshadow root::: bin::: ...... postfix:!:: chrony:!:: user1:!:: user2:!:: user3:!::
这两个配置文件在工作中基本用不到调整,这里就不再赘述了。
1、用户管理
序 号 | 命 令 | 参 数 | 作 用 |
1 | useradd | 新增用户 |
|
-u | 指定用户UID | ||
-g | 指定用户所属组 | ||
-d | 指定用户家目录 | ||
-s | 指定用户的shell | ||
-M | 创建用户时,不自动创建家目录 | ||
2 | userdel | 删除用户 | |
-r | 删除用户时,同时删除家目录 |
测试示例:
[root@server02~]#useradduser10//创建一个用户 [root@server02~]#tail-1/etc/passwd user10:x:1003:1003::/home/user10:/bin/bash [root@server02~]#tail-1/etc/shadow user10:!!:17316:0:99999:7::: [root@server02~]#tail-1/etc/group user10:x:1003: [root@server02~]#useradd-u1111-guser3user11//“-u”指定UID,“-g”指定所属组 [root@server02~]#useradduser12 [root@server02~]#tail-3/etc/passwd//会按照最大的UID生成下一个UID user10:x:1003:1003::/home/user10:/bin/bash user11:x:1111:1002::/home/user11:/bin/bash user12:x:1112:1112::/home/user12:/bin/bash [root@server02~]#useradd-d/home/user2-s/sbin/nologinuser13 useradd:警告:此主目录已经存在。//“-d”指定家目录 不从skel目录里向其中复制任何文件。//“-s”指定shell [root@server02~]#tail-5/etc/passwd user3:x:1002:1002::/home/user3:/bin/bash user10:x:1003:1003::/home/user10:/bin/bash user11:x:1111:1002::/home/user11:/bin/bash user12:x:1112:1112::/home/user12:/bin/bash user13:x:1113:1113::/home/user2:/sbin/nologin [root@server02~]#useradd-Muser20//“-M”表示不建立家目录 [root@server02~]#tail-1/etc/passwd user20:x:1114:1114::/home/user20:/bin/bash [root@server02~]#ls/home/user20 ls:无法访问/home/user20:没有那个文件或目录 [root@server02~]#userdeluser11 [root@server02~]#userdel-ruser12//“-r”表示删除用户时同时删除家目录 [root@server02~]#ls/home user1user10user11user2user3
2、用户组管理
序 号 | 命 令 | 参 数 | 作 用 |
1 | groupadd | 创建用户组 | |
-g | 指定用户组的GID | ||
2 | groupdel | 删除空的用户组 |
测试示例:
[root@server02~]#groupaddgrp10//增加一个用户组 [root@server02~]#groupadd-g1111grp11//“-g”指定GID [root@server02~]#tail-3/etc/group user20:x:1114: grp10:x:1115: grp11:x:1111: [root@server02~]#groupdeluser20//只有空的用户组才能被删除 groupdel:不能移除用户“user20”的主组 [root@server02~]#tail-3/etc/group user20:x:1114: grp10:x:1115: grp11:x:1111: