目录

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个字段。

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

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

  1. linux 下用户管理

    linux 下用户管理 一.用户的分类 1.超级用户:root UID=0 2.系统用户:不需要登录系统,对应用程序服务,主要维护系统的正常运行:UID = 1 ~ 499(RHEL7 = 1 ~ 9 ...

  2. Linux下用户管理

    Linux下用户管理 linux下用户管理有两个重要的配置文件 一个是:/etc/shadow                           #保存的是用户的密码信息 另一个是:/etc/pas ...

  3. Linux(3) 用户管理

    Linux(3) 用户管理 学习视频:https://www.bilibili.com/video/BV1Sv411r7vd?p=19&spm_id_from=pageDriver 一.开机. ...

  4. Linux 之用户管理与文件权限

    Linux 之用户管理与文件权限 一. 1.查看系统版本    uname       uname -a      uname -r      uname -m 2.特点 :              ...

  5. 头歌-信息安全技术-Linux之用户管理

    头歌-信息安全技术-Linux之用户管理 一.第1关:创建/删除新用户 1.编程要求 2.评测代码 二.第2关:Linux 用户密码管理 1.编程要求 2.评测代码 三.第3关:Linux用户权限切换 ...

  6. Linux入门到精通:第 1 关——创建/删除用户组(第二章:Linux之用户管理)

    第 1 关--创建/删除用户组 任务描述 相关知识 Linux创建用户组命令 案例演示一 案例演示二 Linux删除用户组命令 案例演示一 编程要求 评测说明 任务描述 恭喜你已经完成了Linux之用 ...

  7. Linux 基础 - 用户管理

    Linux 基础 - 用户管理 Linux 用户管理 查看当前用户 ID:id 查看当前所属组:groups 查看当前登录用户:who 查看当前登录用户详细信息:w 调查用户:finger 新增用户: ...

  8. 运维基本功(五):Linux文件管理-用户管理

    本文是在课程课件基础上修改的学习笔记 课程原地址:https://www.bilibili.com/video/BV1nW411L7xm 如有侵删 运维基本功(一):Linux系统安装 运维基本功(二 ...

  9. Linux基础-----用户管理

    linux下用户管理机制(组-[基本组,附加组],用户),其中我们可以这样理解组和用户的关系:用户属于组,组中包含用户(一个用户有一个基本组,把这个用户移动到别的组时,用户在基本组的基础上会加附加组, ...

  10. edu-【Linux 与 Python编程2021】Linux知识训练,Linux之用户管理,Linux文件/目录管理

    python实训 python学习 – 菜鸟教程+B站视频 文章目录 linux知识训练-硬件与软件安装 第1关:linux知识训练-硬件与软件安装 linux知识训练-账户进程与权限 第1关:lin ...

最新文章

  1. 还记得那场关于“分布式锁”的经典论战吗?
  2. 第一次使用考试宝进行作业练习
  3. C语言实现前部插入创建链表以及尾部插入链表
  4. 用Java中的抽象类扩展抽象类
  5. Taro+react开发(15)--对应文件编译
  6. UDT源码剖析(六):UDT::socket()过程代码注释
  7. C++:new分配内存
  8. linux下文件时间戳
  9. 将.ncm文件转换为.mp3文件
  10. 补丁KB2999226纯净版下载地址
  11. C1驾考 科目二 (超详细!文字+实拍图)
  12. 宋浩老师线性代数知识卡片
  13. 八个常用的数据分析方法论
  14. 【02】Java进阶:04-String、StringBuilder、ArrayList
  15. C语言lcd实现奥运五环编程,如何用C语言程序来设计奥运五环图案
  16. linux(ubuntu)系统什么叫:桌面管理器,窗口管理器?
  17. 数据分析之北京房价复习
  18. 【Node.js】论一个低配版Web实时通信库是如何实现的1( WebSocket篇)
  19. strstr和strchr的区别
  20. 用户场景分析的四要素是什么?

热门文章

  1. 【每日算法Day 93】不用额外空间,你会旋转一个矩阵吗?
  2. 【每日算法Day 81】面试经典题:关于丑数,你真的理解为什么这么算吗?
  3. 【每日算法Day 63】LeetCode 第 179 场周赛题解
  4. 征稿延期 | 2019亚洲语言处理国际大会(IALP2019)征稿延期
  5. numpy—np.diag(v, k=0)
  6. 李宏毅自然语言处理——依存句法分析
  7. C# LINQ查询方法及Select()查询方法应用
  8. Git的17条基本用法
  9. Python中的闭包与参数引用域
  10. Aggregated Residual Transformations for DeepNeural Networks -ResNetXt2017【论文理解】