web安全day26:今天,算是把linux的用户管理弄明白了

目录

linux操作系统中的用户分类

用户信息

口令信息

组信息

建立和调整用户属性

组的建立、删除、修改

用户的添加、删除、修改、加组、离组

用户口令设置

删除用户和组


linux操作系统中的用户分类

我们此前一直使用的是root账户,其实为了防止对系统造成巨大损害,一般使用普通账户,root账户和普通账户的切换方式如下:

su - admin //切换普通用户,admin是我们在安装系统时新建的用户

web安全day26:今天,算是把linux的用户管理弄明白了

可以发现普通用户对于部分文件是没有权限查看的,因为普通用户的权限是很有限的。

su - root //切换root用户,注意还需要输入密*码

web安全day26:今天,算是把linux的用户管理弄明白了

可以发现root用户对这些文件是有权查看的,root用户对应了windows操作系统中的administrator管理员用户,它的权限是最高的。

除了root用户和普通用户,linux中还有程序用户。

用户信息

/etc/passwd保存了操作系统中所有用户的信息

vim etc/passwd

web安全day26:今天,算是把linux的用户管理弄明白了

web安全day26:今天,算是把linux的用户管理弄明白了

一共有25个用户,除了我们一开始就知道的root用户和admin(普通用户)外,还有其他23个用户。它的表示方法是每一段用:分割,共有7个段,我们以root用户和普通用户为例,了解一下它的表示方法。

root:x:0:0:root:/root:/bin/bash 
dmin:x:1000:1000:admin:/home/admin:/bin/bash

字段1:用户名

字段2:密*码占位符,只做占位使用,实际的密*码保存在其他文件中,放在这里不是安全的。

字段3:用户的uid(user id),非常重要,系统通过uid来识别用户。为0表示超级用户,普通用户被设定在500-60000之间。1-499是分配给程序用户的,程序用户是为了保证系统更安全,对于部分服务或者软件的启动或者调用,如果使用普通用户权限,权限可能不够,如果使用root用户权限,万一这些服务或者软件对系统有害,就会产生严重后果,所以使用程序用户。

字段4:基本组的gid(group id),基本组就是用户默认的,必须存在的组。在linux中,现有组,再有用户。

字段5:用户信息记录字段。比如电话号码等,现在基本不使用。

字段6:用户家目录。

字段7:用户登录系统后使用的命令解释器。我们可以看到root用户和普通用户的都是一样的,说明它们使用相同的命令解释器,而程序用户一般都是/bin/nologin,这说明它们是不能登录系统的。

口令信息

/etc/shadow保存了操作系统中所有用户的密*码信息,权限很高,普通用户看不了,只有root用户才能看。

cat /etc/shadow

web安全day26:今天,算是把linux的用户管理弄明白了

web安全day26:今天,算是把linux的用户管理弄明白了

和我们之前看的用户信息是一一对应的关系,也是25个用户,且包括了root用户,普通用户和程序用户。我们还是以root用户和普通用户为例,了解一下它的表示方法。

root:$1$y.kC8ymn$Mu9cCCJQHcYzqN2C4RITf/::0:99999:7:::
admin:$1$y.kC8ymn$Mu9cCCJQHcYzqN2C4RITf/:18938:0:99999:7:::

它有9个字段。

字段1:用户名

字段2:加密后的密*码,使用sha加密配合solt值防止相同密*码加密后密文也一样。

字段3:距离1970年1月1日口令最近一次修改事件,1970年1月1日是linux诞生元年。

字段4:密*码的最短有效期,0表示不限制。

字段5:密*码的最长有效期,99999表示不限制。

字段6:密*码过期前7天警告

字段7:密*码的不活跃期

字段8:用户的失效时间

组信息

/etc/group保存了操作系统中所有组的信息

cat etc/group

web安全day26:今天,算是把linux的用户管理弄明白了

web安全day26:今天,算是把linux的用户管理弄明白了

建立和调整用户属性

组的建立、删除、修改

添加class1的组,组id默认

groupadd class1

web安全day26:今天,算是把linux的用户管理弄明白了

web安全day26:今天,算是把linux的用户管理弄明白了

建立一个名为class2的组,组id为3000

groupadd class2 -g 3000

删除class1的组

groupdel class1

web安全day26:今天,算是把linux的用户管理弄明白了

修改class1的组id为2000

groupmod class1 -g 2000

web安全day26:今天,算是把linux的用户管理弄明白了

用户的添加、删除、修改、加组、离组

建立tom用户,要求其基本组是class1组

useradd -g class1 tom//在class1组内创建用户tom
id tom//检查用户tom信息

web安全day26:今天,算是把linux的用户管理弄明白了

修改tom的附加组是class2组,uid是600。

usermod -G class2 tom -u 600//修改tom所在组信息,-G表示添加附件组,-u表示修改uid
id tom//再次检查

web安全day26:今天,算是把linux的用户管理弄明白了

建立一个程序用户,其uid是250,用户名为testuser,没有家目录

useradd testuser -u 250 -M -s /sbin/nologin//-M表示没有家目录,-s /sbin/nologin指定命令解释器,表示无法登录系统
id testuser//检查用户信息

web安全day26:今天,算是把linux的用户管理弄明白了

尝试切换testuser,确实无法登录系统。

su - testuser

web安全day26:今天,算是把linux的用户管理弄明白了

用户口令设置

只有root用户可以为普通用户设置口令

为tom用户设定口令

passwd tom

web安全day26:今天,算是把linux的用户管理弄明白了

cat etc/shadow | grep tom//检查和验证

web安全day26:今天,算是把linux的用户管理弄明白了

设定tom的口令最长有效期是90天

chage -M 90 tom//给tom用户的口令最长使用期为90天
passwd -S tom//检查tom的口令的信息
cat etc/shadow | grep tom// 检查tom的口令的信息

web安全day26:今天,算是把linux的用户管理弄明白了

设定新建用户的默认口令最长有效期是90天

vim /etc/login.defs

web安全day26:今天,算是把linux的用户管理弄明白了

锁定tom用户,使其无法登录

passwd -l tom
passwd -S tom

web安全day26:今天,算是把linux的用户管理弄明白了

解锁tom用户,使其可以登录

passwd -u tom
passwd -S to

web安全day26:今天,算是把linux的用户管理弄明白了

删除用户和组

删除tom用户和testuser用户

userdel -r tom
userdel -r testuser
id tom
id testuser

web安全day26:今天,算是把linux的用户管理弄明白了

删除class1组和class2组

groupdel class1
groupdel class2

web安全day26:今天,算是把linux的用户管理弄明白了

关于本文所用到的工具,欢迎关注我的公众号:旁骛OtherThing,回复工具获取。

web安全day26:今天,算是把linux的用户管理弄明白了

上一篇:go深度拷贝gob版


下一篇:day26_多线程入门丶线程安全问题