第二章Linux系统配置及服务管理(文件和用户管理)
用户
查看当前用户的信息 [[email protected] ~]# id
可以看到root用户即超级用户管理员的uid和gid都是0。
1.用户的创建/删除
(1)创建一个用户 useradd 用户名
创建了一个名为“user06”的用户
方框里是我们所创建的用户“user09”用户的基本信息。用id +用户名的方式可以验证是否用户创建成功。
这里查看了这个用户的基本信息,包括uid ,gid,和属组。这里我们会发现用户的uid和gid是相同的。在创建一用户时,如果没有给用户指定任何选项的话,系统会默认创建一个和用户同名的组,并且用户属于这个组,这个组也叫用户的基本组,后面讲到组会提到。
(2)删除用户 userdel -r 用户名
之前的user06被删除了。
2.那么创建的用户的基本信息是什么呢,怎么看呢? cat /etc/passwd
可以看到,每个用户的信息都被六个冒号分割为了七部分信息,以红框内的信息为例子
1.root ----这个代表的是创建的用户名称
2.x----密码占位符,本身没有多大意义,用来占位
3.0----这个0表示的是用户的uid,因为是root创建的,所以uid 为0
4.0----这个0表示的是用户的gid,因为是root创建的,gid也为0
5.root—这个root表示的是用户的一些附加属性
6./rooot—表示用户所被创建在了哪个目录下
7./bin/bash—表示用户的shell类型,以下是shell的详细解释:
壳层(英语:Shell)在计算机科学中,是指“提供用户使用界面”的软件,通常指的是命令行界面的解析器。一般来说,这个词是指操作系统中,提供访问内核所提供之服务的程序。不过这个词也拿来指应用软件,或是任何在特定组件外围的软件,例如浏览器或电子邮件软件是HTML排版引擎的shell。Shell这个词是来自于操作系统(内核)与用户界面的外层界面。通常将壳层分为两类:命令行与图形界面。命令行壳层提供一个命令行界面(CLI);而图形壳层提供一个图形用户界面(GUI)。
3.如果创建用户时想要给用户指定选项的话该怎么做呢,下面我们介绍一下。
给用户指定uid useradd user02 -u 想要指定的uid
我们创建了一个名为“user02”的用户,指定了uid为6666,那么我们查看一下到底有没有成功
我们发现用户的uid和gid都变成了6666,还可以通过直接查看用户信息的方法查看用户uid和gid
通过tail命令查看,我们可以看到用户的uid 和gid和通过id查看的用户信息一致,说明我们的指定方法成功了。
4.给创建的用户指定家目录 useradd 用户名 -d 家目录
我们通过 cat /etc/passwd 查看新创建的用户是否在user10里
可以看到确实是在指定的目录下。
5.删除用户 userdel 用户名
通过查看用户信息确定例如user02用户,接下来使用删除命令
user02没有出现在了用户名单里,说明删除成功。
6.修改用户密码
作为root超级用户管理员可以任意修改普通用户密码
对于修改普通用户密码,使用 passwd + 用户名
如果普通用户要修改密码直接 passwd
7.修改用户登录shell usermod -s 修改后的shell 用户
user11的shell为/bin/bash
接下来我们修改它的shell
user11的shell修改为了/sbin/nologin。
组
1.组的创建/删除
创建组的命令为 groupadd 组名。 如何知道是否创建成功,通过查看组信息发现创建成功。
查看组信息的方法为cat /etc/group,或者tail -3 /etc/group来查看组信息最后指定几行。
那么我们可以看到组信息分为几部分,以hr为例
1.hr—组名
2.x—组密码占位符
3.6669—组的id
4.最后冒号后面为组成员,由于没有成员所以为空白。
注:此方法创建组为单独创建,和任何用户没有关系,组里也没有任何用户。创建用户时会自带一个组,这个组里也只有这一个用户。
使用命令groupdel 组名 可以删除一个组。
2.将用户追加/移除组
用户追加到组:usermode -aG 组名 用户名
由上图,如果我们要将user10添加到组hr中
通过查看user10的id发现它已经被添加到了hr组中。
用户移除出组中 :gpasswd -d 用户名 组名
我们发现用户user10中信息,它的所属组只有他自己的基本组,已经不在hr中了。
我们还可以通过查看组信息的方式查看用户是否在组中
3.创建一个组并指定gid groupadd 组名 -g gid
可以看到新建的组hr的gid被指定为6666,创建完成后通过查看组信息可以看到hr的gid确实是6666。
补充
基本组/附加组
基本组可以理解为创建用户时自带的组,如果不做特别指定,那么组中只有这一个组。
附加组是相对来说的。我们可以随时新建一个组,然后把某个用户追加到这个组里,那么这个新建的组对于这个用户来说就是附加组,它的基本组就是创建它时和它一起被创建的那个组。