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