Linux是一个多用户的操作系统,引入用户,可以更加方便管理Linux服务器,系统默认需要以一个用户的身份登入,而且在系统上启动进程也需要以一个用户身份去运行,用户可以限制某些进程对特定资源的权限控制。每个用户实际上是代表一组权限,而这些权限分别表示可以执行不同的操作,是能获取系统资源的权限的集合。
这里将介绍Linux系统如何管理创建、删除、修改用户角色、用户权限配置、组权限配置及特殊权限深入剖析。
一、 Linux用户及组的识别符,UID与GID
当我们登录Linux主机的时候是输入的用户帐号,但是Linux系统并不会直接识别你的帐号名称,他仅识别帐号的ID。这个ID就是UID(User ID)
Linux操作系统可以有多用户,所谓用户组是指一组权限和功能相似的用户的集合,每个用户可以在一个独立的组,或同时在多个组,每个组的权限都会传递个这个用户,每个组也可以有零个用户或者多个用户。组也有他的ID这个ID就是GID(Group ID)
Linux系统用户是根据用户UID来识别的,从默认UID编号从0开始,分别如下:
系统管理员 (UID 0) #当UID是0时,代表这个用户是root用户,当你让其他帐号也具有root权限时,将该帐号的UID改为0即可。这里需要注意的是一个UID可有多个用户名,但不建议这样设置会有问题。
系统帐号 (UID 1-999) #保留给系统使用的UID,用于满足文件或者服务启动的需要。这些帐号通常不可以登录。
普通用户 (ID 1000以上) #给普通用户使用的
Linux系统中的每个文件或者文件夹,都有一个所属用户及所属组,使用id命令可以显示当前用户的信息,使用passwd命令可以修改当前用户密码。Linux操作系统用户的特点如下:
每个用户拥有一个UserID,操作系统实际读取的是UID,而非用户名;
每个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组;
每个组拥有一个GroupID;
每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限;
每个可登陆用户拥有一个指定的Shell环境。
二、 Linux用户管理
Linux用户在操作系统可以进行日常管理和维护,涉及到的相关配置文件如下:
/etc/passwd 保存用户信息
/etc/shadow 保存用户密码(以加密形式保存)
/etc/group 保存组信息
/etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制
/etc/default/useradd 显示或更改默认的useradd命令的配置文件
/etc/passwd文件结构
在/etc/passwd文件中每行代表一个用户帐号,有几行就代表有几个帐号在你的系统中。里面有很多帐号是系统正常运行所必须的,例如:bin nobody等,这些帐号不要随便删掉。查看/etc/passwd文件,只摘录一部分
-----------------------------------------------------------------
openSUSE:~ # cat /etc/passwd
avahi:x:468:472:User for Avahi:/run/avahi-daemon:/bin/false
bin:x:1:1:bin:/bin:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
tftp:x:476:477:TFTP account:/srv/tftpboot:/bin/false
vnc:x:465:467:user for VNC:/var/lib/empty:/sbin/nologin
pipci:x:1000:100:Pipci:/home/pipci:/bin/bash
------------------------------------------------------------------
通过上面的摘录信息可以看出每一行都使用“:”冒号分隔,共有7个字段,每个字段的含义如下:
账号名称:账号密码:账号UID:账号GID:用户说明:用户家目录:shell解析
接下来,给大家分别介绍这 7 个字段。
1、账号名称: 和用户UID对应,这是用户登录时使用的账号名称,在系统中是唯一的,不能重复。
2、账号密码: 早期的Unix系统中,该字段是存放账号密码的,由于安全原因,后来把这个密码字段内容移动到/etc/shadow中,这里可以看到一个字母表示该用户密码在/etc/shadow中保护
3、账户UID: 账号UID一般由一个整数表示的,范围是0~65535,新的内核版本会比这个更大。
4、账户GID: 账号GID一般也是由一个整数表示的,范围是0~65535,当添加账户时,默认情况下会同时建立一个与用户同名且UID和GID相同的组,这个与发行版有关。
5、用户说明: 这个字段是对这个账号二队描述说明,一般为用户的全名。
6、用户家目录: 用户登录后首先进入的目录,一般为(/home/用户名)这样的目录
7、shell解析器:当前用户登录后所使用的shell,在centos/rhel等linux中,默认的shell为bash,就是在这里设置的。如果不希望用户登录系统,可以用个usermod或者手工修改passwd配置,将该字段改为/sbin/nologin即可。如果仔细看passwd文件,会发现大部分内置系统账号的这个字段都是/sbin/nologin,表示禁止登录系统,这是出于安全考虑的。
/etc/shadow文件结构
/etc/shadow 文件,用于存储 Linux 系统中用户的密码信息,又称为“影子文件”。前面介绍了 /etc/passwd 文件,由于该文件允许所有用户读取,易导致用户密码泄露,因此 Linux 系统将用户的密码信息从 /etc/passwd 文件中分离出来,并单独放到了此文件中。/etc/shadow 文件只有 root 用户拥有读权限,其他用户没有任何权限,这样就保证了用户密码的安全性。注意,如果这个文件的权限发生了改变,则需要注意是否是恶意攻击。
查看/etc/shadow文件,只摘录一部分
----------------------------------------------------------
openSUSE:~ # cat /etc/shadow
avahi:!:18033::::::
bin:!:18033::::::
pulse:!:18033::::::
root:$6$a4hM/suhtofw$DwRlYLvjWboyMny0Xz9ZwNXGs5fN1jMe8HyGjaL1zc4uvH2EBzQUeG/NnIGmnwxHWhfk3Tec8QPC2X1urI62l/:18033::::::
vnc:!:18033::::::
pipci:$6$WzSE91rBbzYf$ZCAOoKaKF2TQ1Vke03tgspLKnVqA3v2IhXLdKEiM80CAYEdBVeq.WIMVHNpBf5UVYWL22R1NNg9JhbndzaXSa1:18033:0:99999:7:::
uucp:!:18046::::::
----------------------------------------------------------
同 /etc/passwd 文件一样,文件中每行代表一个用户,同样使用 ":" 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。每个字段的含义如下:
用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段
接下来,给大家分别介绍这 9 个字段。
1、账户名称
同 /etc/passwd 文件的用户名有相同的含义。
2、加密后的密码,如果这一栏的第一个字符为!或者*的话,说明这是一个不能登录的账户,ubuntu系统默认的不启用root账户。
这里保存的是真正加密的密码。目前 Linux 的密码采用的是 SHA512 散列加密算法,原来采用的是 MD5 或 DES 加密算法。SHA512 散列加密算法的加密等级更高,也更加安全。注意,这串密码产生的乱码不能手工修改,如果手工修改,系统将无法识别密码,导致密码失效。很多软件透过这个功能,在密码串前加上 "!"、"*" 或 "x" 使密码暂时失效。所有伪用户的密码都是 "!!" 或 "*",代表没有密码是不能登录的。当然,新创建的用户如果不设定密码,那么它的密码项也是 "!!",代表这个用户没有密码,不能登录。
3、最近改动密码的日期(这个是从1970年1月1日算起的总的天数)。
Linux 计算日期的时间是以 1970 年 1 月 1 日作为 1 不断累加得到的时间,到 1971 年 1 月 1 日,则为 366 天。这里显示 15775 天,也就是说,此 root 账号在 1970 年 1 月 1 日之后的第 15775 天修改的 root 用户密码,如果是0代表下次用户登录必须更改密码。
通过下面的命令可以把累加时间转化成正常可读取时间
openSUSE:~ # date -d "1970-01-01 18033 days" #累加时间为18033,这里可以改成自己想要转换的时间
通过下面的命令可以把想要设置的时间转换成累加时间
openSUSE:~ # echo $(($(date --date="2019/10/10" +%s)/86400+1)) #这里是把2019/10/10换算成累加时间,可以改成自己想要设置的目标时间。
4、密码不可被变更的天数:设置了这个值,则表示从变更密码的日期算起,多少天内无法再次修改密码,如果是0的话,则没有限制
该字段规定了从第 3 字段(最后一次修改密码的日期)起,多长时间之内不能修改密码。如果是 0,则密码可以随时修改;如果是 10,则代表密码修改后 10 天之内不能再次修改密码。
5、密码需要重新变更的天数:如果为99999则没有限制
经常变更密码是个好习惯,为了强制要求用户变更密码,这个字段可以指定距离第 3 字段(最后一次更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段。
该字段的默认值为 99999,也就是 273 年,可认为是永久生效。如果改为 90,则表示密码被修改 90 天之后必须再次修改,否则该用户即将过期。管理服务器时,通过这个字段强制用户定期修改密码。
6、密码需要变更前的警告天数
与第 5 字段相比较,当账户密码有效期快到时,系统会发出警告信息给此账户,提醒用户 "再过 n 天你的密码就要过期了,请尽快重新设置你的密码!"。该字段的默认值是 7,也就是说,距离密码有效期的第 7 天开始,每次登录系统都会向该账户发出 "修改密码" 的警告信息。
7、密码过期的宽限时间:如果在5中设置的日期过后,用户仍然没有修改密码,则该用户还可以继续使用的天数
也称为“口令失效日”,简单理解就是,在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用。比如说,此字段规定的宽限天数是 10,则代表密码过期 10 天后失效;如果是 0,则代表密码过期后立即失效;如果是 -1,则代表密码永远不会失效。
8、账号失效日期,过了这个日期账号就无法使用
同第 3 个字段一样,使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!
该字段通常被使用在具有收费服务的系统中。
9、保留的
这个字段目前没有使用,等待新功能的加入。
三、Linux用户组,有效用户组和初始用户组
所有的Linux或者Windows系统都有组的概念,通过组可以更加方便的管理用户,组的概念应用于各行行业,例如企业会使用部门、职能或地理区域的分类方式来管理成员,映射在Linux系统,同样可以创建用户,并用组的概念对其管理。
Linux组有如下特点:
每个组有一个组ID;
组信息保存在/etc/group中;
每个用户至少拥有一个初始用户组,同时还可以拥有31个附属组。
通过命令groupadd、groupdel、groupmod来对组进行管理,后就将介绍
/etc/group文件结构
/ect/group 文件是用户组配置文件,即用户组的所有信息都存放在此文件中。此文件是记录组 ID(GID)和组名相对应的文件。前面讲过,/etc/passwd 文件中每行用户信息的第四个字段记录的是用户的初始组 ID,那么,此 GID 的组名到底是什么呢?就要从 /etc/group 文件中查找。
查看/etc/group文件,只摘录一部分
------------------------------------------------------------
openSUSE:~ # cat /etc/group
audio:x:492:pulse
avahi:x:472:
bin:x:1:daemon
vboxusers:x:463:pipci
video:x:484:
root:x:0:
vnc:x:467:
wheel:x:496:
winbind:x:469:
users:x:100:
------------------------------------------------------------
此文件中每一行各代表一个用户组。各用户组中,还是以 ":" 作为字段之间的分隔符,分为 4 个字段,每个字段对应的含义为:
用户组名称:用户组密码:GID:此用户组包含的用户账号名称
接下来,给大家分别介绍这 4 个字段。
1、用户组名称 :就是用户组名称啦!
2、用户组密码: 通常不需要设置,这个设置通常是给“用户组管理员”使用的,目前很少有这个机会设置用户组管理员。同样,密码已经移动到/etc/gshadow去,因此这个字段只会存在一个“x”而已。
3、GID 就是用户组的ID。我们/etc/passwd第四个字段使用的GID对应的用户组名就是由这里对应出来的。
4、此用户组包含的账号名称:我们知道一个账号可以加入多个用户组,那某个账号想要加入此用户组时,将该账号填入这个字段即可。举例来说,如果我想要让pi1与pi2加入到root这个用户组,那么在root组这一行的最后面加上”pi1,pi2”,注意不要有空格,使其成为“root:x:0:pi1,pi2”就可以了。
初始用户组:
在/etc/passwd中用户对应的那一行的第4个字段,就是所谓的初始用户组。也就是说,当用户登录系统,立刻就拥有这个用户组的相关权限。但是如果不是初始用户组,则必须要在/etc/group对应的某一行的第4个字段中添加用户名,才能把该用户添加进该用户组。/etc/group的每行的第4字段列出每个群组包含的所有用户。需要注意的是,如果该用户组是这个用户的初始组,则该用户不会写入这个字段,而该字段显示的用户都是这个用户组的附加用户。
有效用户组
如果一个账号同时在多个用户组内,那如果该用户新建一个新的文件或目录时,新文件的组是哪个呢?这个就跟当时的有效用户组有关了。
想要知道用户自己当前的有效用户组和支持的用户组,使用groups命令即可。
---------------------------------------------------------
pipci@openSUSE:~> groups
users vboxusers
pipci@openSUSE:~> touch ii
pipci@openSUSE:~> ll ii
-rw-r--r-- 1 pipci users 0 6月 29 06:56 ii
---------------------------------------------------------
在上面这个输出的信息中列出了pipci用户支持的用户组只有两个,第一个输出的用户组就是当前的有效用户组了,后面的组就是次要用户组,新建的ii文件所属组就是users这个有效用户,如果不做有效用户组的切换默认的初始用户组就是有效用户组。
使用newgrp命令可以切换有效用户组,注意只能切换当前账号支持的用户组。
--------------------------------------------------------------
pipci@openSUSE:~> newgrp vboxusers
pipci@openSUSE:~> groups
vboxusers users
pipci@openSUSE:~> touch uu
pipci@openSUSE:~> ll uu
-rw-r--r-- 1 pipci vboxusers 0 6月 29 06:57 uu
--------------------------------------------------------------
上面的例子通过newgrp命令将用户pipci的有效用户在切换成vboxusers,再新建文件uu,可以看出uu这个文件所属组已经是vboxusers了。这个命令是以另外一个shell来提供这个功能的,换句话说,用户使用了另一个shell来登录,而且新的shell给予该用户的有效GID是新切换的用户组。由于是新取得一个shell,因此如果想回到原来的shell,则需要输入exit。
四、添加帐号
如需创建新用户,可以使用命令useradd,执行命令#useradd pi1即可创建pi1用户。
useradd pi1 命令默认创建用户pi1,会根据如下步骤进行操作:
1、读取/etc/default/useradd,根据配置文件执行创建操作;
2、在/etc/passwd文件中添加用户信息;
3、如使用passwd命令创建密码,密码会被加密保存在/etc/shadow中;
4、为pi1创建家目录:/home/pi1; #CentOS7会默认创建,Debian9.5和OpenSUSE15不会创建,只有加-m参数才会主动创建。
5、会将/etc/skel中的文件复制至/home/pi1家目录;
6、创建与用户名相同的pi1组; #在CentOS7与Debian9.5系统中会同时创建一个同名的组pi1,默认该用户的初始和有效用户组为pi1。而OpenSUSE15系统下面不会创建同名的用户组,初始和有效用户组在为users组。
7、pi1组信息保存在/etc/group配置文件中。
------------------------------------------------------
在使用useradd命令创建用户时,可以支持如下参数:
用法:useradd [选项] 用户名
选项:
-b, 指定新账户的基目录,如果通过useradd -m添加用户会创建用户主目录,这个目录会在/home目录下创建用户名同名的目录,如果指定基目录后再创建
用户主目录就会在基目录下创建用户同名的目录而不是在/home下创建,比如基目录指定为opt,创建的用户为pi1那么pi1用户的主目录就为/opt/pi1目录;
-c, 新账户的说明内容,也就是/etc/passwd第5字段的内容,一般设置为用户的全名;
-d, 指定某个目录为新账户的主目录,必须使用绝对路径指定,CentOS7如果指定的目录不存在会主动创建,Debian9和openSUSE15不会主动创建;
-D, 显示或更改默认的 useradd 配置;
-e, 新账户的过期日期也就是/etc/shadow的第8字段的内容,格式YYYY-MM-DD,如果没有指定,则使用/etc/default/useradd文件中的EXPIRE变量的值;如果为空字符串,则表示永远不过期。
-f, 密码过期的宽限时间,为/etc/shadow的第7字段的内容,0表示立即失效,-1表示永不失效;
-g, 指定新账户的初始组的名称或ID;
-G, 为新账户添加的附加组列表;
-h, 显示此帮助信息并推出;
-m, 创建用户的主目录,默认会在/home目录下创建与用户同名的目录,CentOS7默认不用-m也会创建,Debian9和openSUSE15不会主动创建需要加-m参数才会创建;
-M, 不创建用户的主目录,CentOS7不创建需要加-M参数,Debian9和openSUSE15不需要加;
-r, 创建一个系统账户,不创建用户的主目录,UID为1000以下;
-R, chroot 到的目录
-s, 新账户的登录shell,需要使用绝对路径,CentOS7和openSUSE15会默认添加/bin/bash,Debian9需要指定;
-u, 指定新账户的用户UID;
-U, 创建与用户同名的初始用户组,openSUSE15默认创建用户的初始用户在为users可以通过这个选项指定创建同名的初始用户组;
Useradd案例演示:
新建pi1用户,同时创建pi1初始用户组,同时自动在/home下创建用户主目录,登录shell为/bin/bash, 用户的名为Pi1;
------------------------------------------------------
[root@CentOS7 ~]# useradd pi1 -c Pi1
root@debian:~# useradd -m pi1 -c Pi1 -s /bin/bash
OpenSUSE:~ # useradd -mU pi1 -c Pi1 -s /bin/bash
------------------------------------------------------
同样的需求不同的发行版,创建时候所需要的参数不同,主要因为/etc/default/useradd, /etc/login.defs两个文件的默认配置不同。
新建pi2用户,同时创建pi2初始用户组,同时指定/opt到的目录;/pi2目录为用户的主目录,登录shell为/bin/bash ,用户的名为Pi1;;
------------------------------------------------------------------------------------
[root@CentOS7 ~]# useradd pi2 -d /opt/pi2 -c Pi2 #CetnOS7如果指定的目录如果不存在会自动创建
root@debian:~# useradd pi2 -d /opt/pi2 -c Pi2 -s /bin/bash #Debian9.5如果指定的目录如果不存在不会自动创建,需要自己创建
OpenSUSE:~ # useradd pi3 -d /opt/pi3 -c Pi3 -s /bin/bash -U #openSUSE15如果指定的目录如果不存在不会自动创建,需要自己创建
------------------------------------------------------------------------------------
五、更改用户密码
使用passwd命令创建和更改用户密码
使用useradd创建了帐号之后,在默认的情况下,该帐号是被暂时封锁的,也就是说该帐号是无法登录的,可以去看下/etc/shadow文件的第二个字段是感叹号,通过passwd命令为用户创建密码。
用法:passwd [选项] 用户名
选项:
-d, 删除用户密码,仅能以root权限操作;
-l, 锁住用户,被锁定的用户将无法登录系统,仅能通过root权限操作,也就是在/etc/shadow文件的第二个字段加上感叹号;
-u, 解除锁定,与-l选项相反,也就是在/etc/shadow文件的第二个字段删除感叹号;
-f, 强制操作;仅root权限才能操作;
-x, 后面接天数,shadow的第5字段的内容,多久内必须改动密码,仅能root权限操作;
-n, 后面接天数,shadow的第4字段的内容,多久内不可修改密码,仅能root权限操作
-w, 后面接天数,shadow的第6字段的内容, 在距多少天提醒用户修改密码;仅能root权限操作;
-S, 查询用户的密码状态,仅能root用户操作;
passwd案例演示:
在root用户下为新用户pi1创建密码
-------------------------------------------------------------
[root@CentOS7 ~]# passwd pi1
更改用户 pi1 的密码
新的 密码: #要求输入用户的新密码
重新输入新的 密码: #要求再次输入用户的新密码,两次输入同样的密码,防止你输错。
passwd:所有的身份验证令牌已经成功更新。
[root@CentOS7 ~]#
-------------------------------------------------------------
普通用户自己更改密码
-------------------------------------------------------------
[pi1@CentOS7 ~]$ passwd pi1
passwd:只有根用户才能指定用户名。 #普通用户只能更改自己的密码,没有权限更改他人的
[pi1@CentOS7 ~]$ passwd #普通用户更改自己的密码不用在命令后面加上自己的用户名
更改用户 pi1 的密码 。
为 pi1 更改 STRESS 密码。
(当前)UNIX 密码: #普通用户更改自己的密码需要输入原始密码
新的 密码:
无效的密码: 密码少于 8 个字符 #有密码复杂读要求
新的 密码:
无效的密码: 密码与原来的太相似 #有密码复杂读要求
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[pi1@CentOS7 ~]$
-------------------------------------------------------------
六、更改密码策略
使用chage命令修改帐号和密码的有效期限。
用法 chage [选项] 用户名
选项
-l, 列出帐号的详细密码参数。
-d, 后面接天数,修改shadow的第3字段的内容,最近一次更改密码的日期,格式YYYY-MM-DD。
-m, 后面接天数,修改shadow的第4字段的内容,密码最短保留天数。
-M, 后面接天数,修改shadow的第5字段的内容,密码多久需要进行修改。
-w, 后面接天数,修改shadow的第6字段的内容,密码过期前的警告天数。
-I, 后面接天数,修改shadow的第7字段的内容,密码失效日期。
-E, 后面接天数,修改shadow的第8字段的内容,帐号失效日期,格式YYYY-MM-DD。
chage案例演示:
显示密码的详细信息
--------------------------------------------------------------
[root@CentOS7 ~]# chage -l pi1 #查看pi1用户密码的详细信息
最近一次密码修改时间 :10月 01, 2019
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
[root@CentOS7 ~]#
--------------------------------------------------------------
设置新用户下次登录时候必须更改密码才能登录
--------------------------------------------------------------
[root@CentOS7 ~]# chage -d 0 pi1
--------------------------------------------------------------
七、修改用户信息
通过usermod命令可以修改以创建用户的属性,包括用户名,用户主目录,所属用户组以及登录Shell等信息,
用法 usermod [选项] 用户名
选项
-c, 修改/etc/passwd文件第5段说明内容,
-d, 修改用户的主目录,如果指定-m选项,则会把旧的主目录下的内容复制到新的主目录下
-e, 指定用户帐号禁用的日期,格式YY-MM-DD,也就是/etc/shadow第8段的内容
-f, 密码过期的宽限时间,也就是/etc/shadow第8段的内容,0表示密码已过期就禁用帐号,-1表示禁用此功能,默认值是-1
-g, 修改用户的初始用户组,修改的用户组必须存在,用户主目录中,属于原来的主组的文件将转交新组所有,主目录之外的文件所属的组必须手动更改
-G, 把用户追加到某些附加组中,多个用户组之间用逗号隔开
-l, 修改用户的登录名称
-L, 锁定用户的密码,被锁定的用户将无法登录系统,也就是在/etc/shadow文件的第二个字段加上感叹号
-m, 将用户的主目录中的文件移动到新的位置,通常和-d选项一起使用
-s, 修改用户的默认shell
-u, 改用户的uid,该uid必须唯一
-U, 解锁用户的密码,与-L选项相反,也就是在/etc/shadow文件的第二个字段删除感叹号
usermod案例演示:
将pi1用户添加到pi2,pi3用户组
--------------------------------------------------------------
[root@CentOS7 ~]# usermod -G pi2,pi3 pi1
--------------------------------------------------------------
将pi1用户的主目录改为/home/pii 同时将用户的主目录中的文件移动到新的位置
--------------------------------------------------------------
[root@CentOS7 ~]# usermod -d /home/pii -m pi1
--------------------------------------------------------------
八、删除用户
userdel命令用来将一个用户从Linux系统中删除。
用法 userdel [选项] 用户名
选项
-f, 强制删除指定的用户,即使该用户处于登录状态
-r, 删除用户的同时用户主目录和用户的邮箱也一起删除,用户主目录以为的文件需要手动删除。
usermod案例演示:
将pi1用户及主目录一同删除
--------------------------------------------------------------
[root@CentOS7 ~]# userdel -r pi1
--------------------------------------------------------------
九,显示用户的信息
id命令可以显示真实有限的用户标识号和组标识号。
用法 id [选项] 用户名
选项,这个命令一般不需要加选项直接id回车显示全部信息最直观
-g, 显示用户所属群组的ID。
-G, 显示用户所属附加群组的ID。
-n, 显示用户,所属群组或附加群组的名称。
id案例演示:
显示pi1用户的信息
--------------------------------------------------------------
[pi1@CentOS7 ~]$ id #已经登录pi1用户直接输入id命令就好了
uid=1000(pi1) gid=1000(pi1) 组=1000(pi1) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[pi1@CentOS7 ~]$
--------------------------------------------------------------
十、Linux添加用户组
Linux系统通过groupadd命令添加用户组
用法 groupadd [选项] 组名
选项
-g, 为新组指定GID;
-r, 创建一个系统工作组,工作组的GID小于1000;
-o, 允许使用重复的 GID
十一、更改用户组信息
如果想更改组名或组ID可以通过groupmod命令来完成
用法 groupmod [选项] 组名
选项
-g, 修改组 GID;
-n, 修改组名;
-o, 允许使用重复的 GID;
十二、删除用户组
删除用户组的命令为groupdel,但是初始用户组不能直接删除,只有把对应的用户删除或给成其他的初始用户组才可以。
groupdel用法
用法 groupmod 组名
组管理案例演示:
新建用户组pig
--------------------------------------------------------------
[root@CentOS7 ~]# groupadd pig
--------------------------------------------------------------
更改用户组pig名称为gpi
--------------------------------------------------------------
[root@CentOS7 ~]# groupmod -n gpi pig
--------------------------------------------------------------
删除用户组gpi
--------------------------------------------------------------
[root@CentOS7 ~]# groupdel gpi
--------------------------------------------------------------