#yyds干货盘点# web安全day26(今天,算是把linux的用户管理弄明白了)

世事洞明皆学问,人情练达即文章。这篇文章主要讲述#yyds干货盘点# web安全day26:今天,算是把linux的用户管理弄明白了相关的知识,希望能为你提供帮助。
linux操作系统中的用户分类我们此前一直使用的是root账户,其实为了防止对系统造成巨大损害,一般使用普通账户,root账户和普通账户的切换方式如下:

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


可以发现普通用户对于部分文件是没有权限查看的,因为普通用户的权限是很有限的。
su - root //切换root用户,注意还需要输入密*码


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


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


一共有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


和我们之前看的用户信息是一一对应的关系,也是25个用户,且包括了root用户,普通用户和程序用户。我们还是以root用户和普通用户为例,了解一下它的表示方法。
root:$1$y.kC8ymn$Mu9cCCJQHcYzqN2C4RITf/::0:99999:7:::
admin:$1$y.kC8ymn$Mu9cCCJQHcYzqN2C4RITf/:18938:0:99999:7:::



它有9个字段。
【#yyds干货盘点# web安全day26(今天,算是把linux的用户管理弄明白了)】字段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



建立和调整用户属性

组的建立、删除、修改
添加class1的组,组id默认
groupadd class1


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

删除class1的组
groupdel class1


修改class1的组id为2000
groupmod class1 -g 2000


用户的添加、删除、修改、加组、离组
建立tom用户,要求其基本组是class1组
useradd -g class1 tom//在class1组内创建用户tom
id tom//检查用户tom信息


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


建立一个程序用户,其uid是250,用户名为testuser,没有家目录
useradd testuser -u 250 -M -s /sbin/nologin//-M表示没有家目录,-s /sbin/nologin指定命令解释器,表示无法登录系统
id testuser//检查用户信息


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


用户口令设置


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


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


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


设定新建用户的默认口令最长有效期是90天
vim /etc/login.defs


锁定tom用户,使其无法登录
passwd -l tom
passwd -S tom


解锁tom用户,使其可以登录
passwd -u tom
passwd -S to



删除用户和组
删除tom用户和testuser用户
userdel -r tom
userdel -r testuser
id tom
id testuser


删除class1组和class2组
groupdel class1
groupdel class2


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


    推荐阅读