目录
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个字段。
字段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,回复工具获取。