网络安全快速入门(十五) linux用户管理

15.1 前言

前面我们已经大概了解了Linux的网络链接,今天我们来看看Linux用户管理的一些基础操作,话不多说,我们来开始吧!!

15.2  用户的基础知识

我们先了解一些有关linux用户的一些基础知识,我们从Linux用户开始来给大家进行讲解吧

15.2.1 Linux用户及用户组

什么是用户?

用户,也就是登陆系统的用户名,就是用来标识计算机上的资源归属,可以这样说,不管是Windows还是Linux,没有用户就无法登录系统;因此用户是必须存在的!

用户通常由以下几个要素构成:
  • 用户
  • 密码
  • 用户uid
什么是用户组?

而在Linux中,我们不仅仅通过用户来区分资源的归属及文件的权限,也通过用户组来进行区分,一般来说,用户组是多个用户的集合,通常用于方便多个用户的批量管理,以便让多个用户拥有相同的文件操作权限。

用户组通常由以下几个要素构成
  • 用户组id
  • 用户组名称
  • 用户组密码
  • 用户组所属用户

在大概了解用户及用户组之后,我们来大概看看Linux中存储用户信息的相关文件

保存用户及用户组信息的文件:
/etc/passwd <<<< 保存系统中全部的用户名
/etc/shadow <<<< 保存各个用户的密码
/etc/group <<<<保存系统中全部的用户组名
/etc/gshadow <<<<保存各个用户组的密码
 /etc/passwd文件详解

我们最常用的用户便是/etc/passwd,因此我们来通过/etc/passwd文件对用户进行详细说明

如下图

这是笔者的 etc/passwd文件,可以看到有很多行,在该文件中,每一行均为一个用户

因此:在统计有多少个用户可以登陆系统时,我们可以通过以下代码来进行操作

grep "/bin/bash$" /etc/passwd |wc -l

我们随便拿出一行来进行解释

可以看到,在该文件中,我们看到比较多的符号是冒号(:),因为在该文件中,用户之间的功能和作用通过冒号(:)进行分隔,分隔为七段,这七段作用分别如下:

第一段:用户名
第二段:密码占位符,为了安全,放到了另一文件(/etc/shadow)
第三段:用户的uid
第四段:gid
第五段:用户描述信息
第六段:用户的家目录
第七段:用户的shell类型

这里我们看到一个新的东西,uid和gid,我们来大概解释一下

用户uid

也是用户的身份标识,是计算机为用户设置的一个唯一的数字,当计算机识别用户的时候,就是通过该数字进行识别的,因此,uid不可以重复!!!

用户gid

这是用户组的身份标识,与uid一样,这是唯一的标识,当计算机识别用户组的时候,就是通过该数字进行识别的,因此,gid也不可以重复!!!

用户的描述信息

一般为用户名称,可以后面去进行自定义,这里不做解释!

用户的家目录

这里有两种分类,

  • 管理员家目录
    • 存放于/的root下
  • 用户家目录
    • 存放于/home下于用户名同名的家目录中

用户的shell类型:

常见的shell类型有两种:

  • /bin/bash <<< 默认shell类型,可以登录系统
  • /sbin/nologin <<<无法登入系统
在Linux中,用户大致分为以下三类:
  • 管理员用户
    • uid:0
    • 特点:
      • 默认只有一个,就是root
      • 该类用户是没有任何权限约束,可以对整个系统进行任意操作!!
  • 系统用户
    • uid1-999(也有一说为1-500,)
    • 特点:
      • Linux安装完成后或者安装了某个程序自动生成的用户
      • 这类用户是默认不能登入系统
  • 普通用户
    • uid:1000+ 
    • 特点:
      • 需要运行命令来创建
      • 普通用户权限非常小的,通常仅仅能在自己的家目录下进行操作
      • 默认该用户的家目录是在/home下的和用户同名的目录
用户组的分类:
  • 用户的基本组
    • /etc/passwd中第四段gid,所指的就是用户的基本组
  • 用户的附加组
    • 除了主组以外的组,就是附加组

注意:

  • 一个用户可以属于多个组
  • 一个用户只能有一个主组,其他就是附加组
  • 在用命令创建完用户的时候,默认的会创建一个组,这个组名和用户名是相同的(默认该组就是用 户的主组)

15.2.2 Linux的文件属性

我们前面知道,不论是Linux用户还是用户组,都是为了标识计算机上的资源归属,说到底是对文件进行操作的,那么问题来了,怎么查看用户在该文件下拥有什么权限呢?

查看Linux的文件属性

命令如下

ls- l 文件名

我们来随便看一个文件名并对其进行讲解,如下图

我们通过ls-l查看该文件得到上图反馈,我们来逐一进行了解,如下图

从左往右十个框,意思如下:

第一列:表示文件属性,”-“为一般文件,”d“为目录文件,“l”为链接文件
第二列:这三个为用户属主执行权限,从左到右依次为r=可读,w=可写,x可执行;-表示无此权限
第三列:这列为用户属组执行权限,从左到右依次为r=可读,w=可写,x可执行;-表示无此权限
第四列:表示除文件属主属组外其他用户的执行权限,从左到右依次为r=可读,w=可写,x可执行;-表示无此权限
第五列:代表这个目录下还有几个目录,若为一般文件时则显示为.1
第六列:为文件所属用户名称
第七列:文件所属用户组名称
第八列:文件大小,单位为字节
第九列:文件上次修改日期的时间
第十列:文件名称

这里了解一下文件属主及属组:

  • 属主:文件属于谁,谁创建的文件,文件的属主就是谁
  • 属组:设置文件对一个特定用户组所有的权限

注意:

  • 属主、属组默认只有一个的
  • 如果这个用户不属于属主和属组,那么这个用户就是属于其他用户

文件所属只有三类用户:

  • 属主
  • 属组
  • 其他用户

关于用户的基础及文件属性的相关知识我们就讲到这里了,接下来我们开始了解相关命令操作

15.3 用户相关命令操作:

15.3.1 创建用户

命令:useradd

格式:

useradd [选项] 用户名

(这里默认直接创建用户,无密码但无法直接登录,需设置密码才可以通过其他终端进行登录,否则只能通过root权限去su至相关用户名!)

选项:

  • -c “string” :设置新用户的描述信息

举例:

创建用户user1,描述信息为ch225

useradd -c ch225 user1

我们通过passwd来看结果

  • -d /path/to/dir :设置用户的家目录

默认为/home下的与用户同名的家目录中,可通过该选项进行设置

举例:

创建用户user2,目录在/

useradd -d /user2 user2

看结果:

  • -g设置用户的gid:

举例:

创建用户user3,gid为5

useradd -g 5 user3

看结果

  • -G gid:指定用户的附加组

举例:

创建用户user4,附加gid为1005

useradd -G 1005 user4

看结果

  • -m:在创建用户的时候,如果家目录不存在,则创建用户的家目录(默认使用该选项,不做演示)
  • -M:不自动创建家目录

举例:

创建用户user5,不创建家目录

useradd -M user5

看结果:

  •  -r:创建系统用户
    • 用此选项创建用户特点:
      • 默认该用户能登录系统
      • 默认用户无家目录
      • 默认用户uid<999
      • 默认 shell 类型是 /bin/bash

举例:

创建用户user6,为系统用户

useradd -r user6

看结果

  • -s shType :指定用户的shell类型
    • /bin/bash
    • /sbin/nologin

举例:

创建用户user7,shell类型为/sbin/nologin

useradd -s /sbin/mologin user7

看结果

  • -u uid:指定用户的uid

举例:

创建用户user8,用户uid为9999

useradd -u 9999 user8

看结果

注意:(uid默认于gid为同一id,因此会出现两个9999)

15.3.2 groupadd命令

作用 : 新建用户组
格式:
​​​​​​​groupadd 组名:
例子:新建一个组名是 a1 的组
groupadd a1

(这里通过/etc/group来看结果,因篇幅问题,这里不做演示!)

选项:

  • -g :指定用户组的组id

举例:

新建一个组名是 a2 ,组 id 1080 的组
groupadd -g 1080 a2

15.3.3 id命令

作用:显示指定用户的 id 信息
格式:
​​​​​​​id [选项] 用户名

默认选项查看所有信息,具体反馈结果如下:

选项:

  • -u:显示用户的uid
例子:
显示ch225 uid
id -u ch225
  • -g:显示用户的gid
例子:
显示ch225的 gid
id -g ch225
  • -G:显示用户的全部组id

例子:

显示user4的全部组id

id -G user4

看结果

15.3.4 passwd命令

作用:修改用户的密码(给用户设置密码)
格式:
passwd [选项] 用户名
  • passwd 用户 --修改指定用户的密码
  • passwd --修改当前用户的密码
  • 默认root能修改其他用户的密码,其他用户只能修改自己的密码

选项:

  • -l:锁定用户(只有root用户才能进行操作)
  • -u:解锁用户(只有root用户才能进行操作)

15.3.5 userdel命名

作用:删除用户
格式:
userdel [选项] 用户名
选项:
  • -r:在删除用户的时候,同时删除用户的家目录
例子:
删除用户 aa1 的同时删除其家目录
userdel -r aa1

15.3.6 chsh命令

作用:修改用户的 shell 类型
格式:
chsh [-s type] 用户名
例子:
修改tom的shell类型为/bin/bash
chsh -s /bin/bash tom
15.3.7  usermod 命令
作用:修改用户的基本信息
格式:
usermod [选项] 用户名
选项:
  • g:修改基本组(组不存在,现创建组)
    • 例子:usermod -g 1080 ch225
  • -G:修改附加组
    • 例子:usermod -G 2226 user4
  • -u:修改uid
    • 例子:usermod -u 0 aa2
      • (这里需要注意,uid只能有一个,因此需修改root的uid)
  • -c:修改用户的描述信息
    • 例子:usermod -c "aaaaaaaaaaaa2" ch225
  • -d:修改用户的家目录
    • 例子:usermod -d /ch225 ch225
  • -s:修改用户的shell类型
    • 例子:usermod -s /sbin/nologin ch226
  • -l:修改用户名
    • 例子:usermod -l ch2254 ch225

15.3.7 su命令

作用:切换用户
格式:
su 用户名
选项:
  • -c:普通用管理员身份执行命令
例子:
su -c "mkdir /a66" root
注意:
苏切换用户后,返回需要输出命令:exit

好了,今天的内容就先到这里了,如果由错误或者疏漏还请各位大佬指正,感谢各位观看,我们下期再见0..0

  • 30
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值