Linux用户(user)和用户组(group)管理

  • 用户/组基本概念与特性
    • 1.查看用户的uid/gid
    • 2.用户基本信息文件
      • (1)用户名
      • (2)密码
      • (3)UID
      • (4)GID
      • (5)主目录
      • (6)Shell
    • 3.用户的密码文件
      • (1)用户名
      • (2)加密密码
      • (3)最后一次修改时间
      • (4)最小修改时间间隔
      • (5)密码有效期
      • (6)账号失效时间
    • 4.组信息文件
      • (1)组名
      • (2)组密码
      • (3)组ID(GID)
      • (4)组中的用户
    • 5.新建用户
    • 6.修改用户密码
    • 7.修改用户信息
    • 8.删除用户
    • 9.添加用户组
    • 10.加入用户组

用户/组基本概念与特性

系统上的每个进程(正在运行的程序)都以特定用户的身份运行。
每个文件都由特定的用户拥有。
对文件和目录的访问受用户限制。
与正在运行的进程关联的用户确定该进程可访问的文件和目录。

(如果看着不太明确,可以跟着一起操作,便于理解和掌握>-<)

1.查看用户的uid/gid

格式:[root@localhost~]#id 用户名

能看到uid(用户ID)、gid(初始组ID),groups是用户所在组,这里既可以看到初始组,如果有附加组,则也能看到附加组

2.用户基本信息文件

用户基本信息文件存在于/etc/passwd中,由“:”分割为7段字符

“用户名:密码:UID(用户ID):GID(组ID):描述性信息:主目录:默认Shell”

(1)用户名

用户名,就是一串代表用户身份的字符串。
前面讲过,用户名仅是为了方便用户记忆,Linux系统是通过UID来识别用户身份,分配用户权限的。/etc/passwd文件中就定义了用户名和UID之间的对应关系。

(2)密码

“x"表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件中。为了防止密码的泄露,现Linu系统把真正的加密密码串放置在/etc/shadow文件中,此文件只有root用户可以浏览和操作,这样就最大限度地保证了密码的安全。需要注意的是,虽然"x"并不表示真正的密码,但也不能删除,如果删除了"x”,那么系统会认为这个用户没有密码,从而导致只输入用户名而不用输入密码就可以登陆。

(3)UID

UID,也就是用户ID。每个用户都有唯一的一个UID,Linux系统通过UID来识别不同的用户。实际上,UID就是一个0~2^32之间的数,不同范围的数字表示不同的用户身份。
在CentOS7的Linux系统中UID:“0”为超管的uid;
“1~999”为系统自行创建的uid,保留给系统使用;
“1000~2^32”为普通用户的uid。

(4)GID

全称“Group ID”,简称“组ID”,表示用户初始组的组ID号。
初始组,指用户登陆时就拥有这个用户组的相关权限。每个用户的初始组只能有一个,通常就是将和此用户的用户名相同的组名作为该用户的初始组。比如说,我们手工添加用户user001,在建立用户user001的同时,就会建立user001组作为user001用户的初始组。
附加组,指用户可以加入多个其他的用户组,并拥有这些组的权限。每个用户只能有一个初始组,除初始组外,用户再加入其他的用户组,这些用户组就是这个用户的附加组。附加组可以有多个,而且用户可以有这些附加组的权限。
描述性信息
这个字段没有重要的意义,只用来添加解释。

(5)主目录

用户登录后有操作权限的访问目录,称为用户的主目录。

(6)Shell

Shell就是Linux的命令解释器,是用户和Linux内核之间沟通的桥梁。Linu系统默认使用的命令解释器bash(/bin/bash),如果我把lamp用户的Shell命令解释器修改为/sbin/nologin,那么,这个用户就不能登录了。

3.用户的密码文件

/etc/shadow文件,用于存储Linux系统中用户的密码信息

“用户名:加密密码:最后一次修改时间:最小修改时间间隔:密码有效期:密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段”

(1)用户名

同/etc/passwd文件的用户名有相同的含义。

(2)加密密码

这里保存的是由加密算法加密过的密码。(不能在文件中修改,否则系统会无法识别,使得密码失效)

(3)最后一次修改时间

此字段表示最后一次修改密码的时间,可是,为什么用户显示的是18467呢?这是因为Linux计算日期的时间是以1970年1月1日作为1不断累加得到的时间,到1971年1月1日,则为366天。这里显示18467天,也就是说,此账号在1970年1月1日之后的第18267天修改的用户密码。

(4)最小修改时间间隔

最小修改间隔时间,也就是说,该字段规定了从第3字段(最后一次修改密码的日期)起,多长时间之内不能修改密码。如果是0,则密码可以随时修改;如果是7,则代表密码修改后7天之内不能再次修改密码。

(5)密码有效期

为了强制要求用户变更密码,这个字段可以指定(最后一次更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段,该字段的默认值为99999。
密码需要变更前的警告天数
当账户密码有效期快到时,系统会发出警告信息给此账户,提醒用户"再过n天你的密码就要过期了,请尽快重新设置你的密码!"。

(6)账号失效时间

使用自1970年1月1日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!
保留
这个字段目前没有使用。

4.组信息文件

/ect/group 文件是用户组配置文件

“组名:密码:GID:该用户组中的用户列表”

(1)组名

也就是是用户组的名称,有字母或数字构成。同/etc/passwd中的用户名一样,组名也不能重复。

(2)组密码

"x"仅仅是密码标识,组密码默认保存在/etc/gshado文件中,不过这项功能我们很少使用。

(3)组ID(GID)

就是群组的ID号,Linux系统通过GID区分用户组。

(4)组中的用户

列出群组包含的所有附加用户。

5.新建用户

Linux系统中,可以使用useradd命令新建用户,此命令的基本格式如下:
[root@localhost~]#useradd [选项] 用户名

6.修改用户密码

命令创建新用户时,并没有设定用户密码,因此还无法用来登陆系统。
passwd命令的基本格式如下:
[root@localhost~]#passwd [选项] 用户名

7.修改用户信息

用户信息后期如何修改呢?可以使用vim文本编辑器修改,也可以使用usermod命令修改。
usermod命令的基本格式如下:
[root@localhost~]#usermod [选项] 用户名

8.删除用户

删除用户使用的为userdel命令,此命令只有root用户才能使用。
userdel命令的语法很简单,基本格式如下:
[root@localhost~]#userdel -r 用户名
-r选项表示在删除用户的同时删除用户的家目录。如果不删除用户的家文件,将会影响下一次同名用户的创建。

9.添加用户组

添加用户组的命令是groupadd
格式:[root@localhost~]#groupadd [选项] 组名

10.加入用户组

加入用户组的命令是usermod
格式:usermod -aG 组名 用户名

Linux用户(user)与用户组(group)管理(超详细解释)相关推荐

  1. linux跑到命令行是到了哪里,在Linux命令行中使用tcpdump「超详细」

    原标题:在Linux命令行中使用tcpdump「超详细」 灵活,强大的命令行工具有助于减轻网络问题排查的痛苦. 根据我作为系统管理员的经验,我经常发现网络连接问题难以排除故障. 对于那些情况,tcpd ...

  2. C++引用的超详细解释及误区纠正,不看后悔哦(中)

    书接上文,这次我想向大家谈一谈关于函数引用返回的问题 非引用返回,非引用接收: 首先我们来看这样一段代码: #include<iostream> using namespace std; ...

  3. 关于三次握手与四次挥手的超详细解释

    关于三次握手与四次挥手的超详细解释 看了很多博客的文章,再结合自己想要知道的知识,发现还是需要东看一下西看一下,才能明白大概的过程.所以这里博主决定来小小的结合一下自己记录的内容.来写一个容易看明白并 ...

  4. C++引用的超详细解释及误区纠正,不看后悔哦(上)

    首先,我们来谈一谈什么是引用以及为什么存在? 引用:即为对象起立另一个名字,引用类型引用另一种类型. 基于C语言的指针,C++将其封装并创建出新的类型--引用.熟悉C语言的小伙伴们会发现,在C语言中指 ...

  5. linux管理用户组,技术|如何在 Linux 系统中通过用户组来管理用户

    本教程可以了解如何通过用户组和访问控制表(ACL)来管理用户. 当你需要管理一台容纳多个用户的 Linux 机器时,比起一些基本的用户管理工具所提供的方法,有时候你需要对这些用户采取更多的用户权限管理 ...

  6. linux修改组的选项名字为,Linux用户、组及权限管理浅析

    一.用户和组 1.用户 系统用来认证(Authentication),授权(Authorization),审计(Autition)的帐号.通过登录用户来登录系统.操作系统通过登录不同的用户来调用相对应 ...

  7. Linux学习 day05之用户组权限管理

    用户组权限管理 一 Linux用户介绍 什么是用户? 为何要有用户?或者说我们为何要哦创建用户? 如何查看用户相关信息 linux系统中用户角色划分 超级用户 扩展阅读 二 用户与组相关文件 和用户. ...

  8. Linux用户、组和权限管理

    Linux用户和权限管理 基础知识 Linux用户 管理员:root 0 普通用户:1-65535 系统用户:Centos6:1-499,Centos7:1-999 登录用户:Centos6:500+ ...

  9. 组的迷惑行为之 Linux用户的初始用户组(主组,基本组)与有效用户组(附加组)

    废话不扯,虽然标题党了一点. 初始用户组(主组,基本组): 创建用户的时候系统会默认同时创建一个和这个用户名同名的组,这个组就是初始用户组,不可以把用户从初始用户组中删除.说人话(举例):比如我创建一 ...

最新文章

  1. oozie 重新提交作业
  2. Jenkins 权限配置与集群配置
  3. 查询范围_企二哥:查询企业经营范围的三种方法
  4. gcc compiler warning: “will be initialized after/when initialized here”
  5. MATLAB元胞自动机报告,元胞自动机概述与MATLAB实现
  6. java文件上传总结
  7. 【Kafka】Kafka集群 动态 添加 节点 可行否
  8. EMNLP杰出论文 | 当注意力遇到RNN,五倍以上训练加速!
  9. jts116_JTS T 116-2019水运建设工程概算预算编制规定.pdf
  10. 如何使用SPSS进行相关性分析
  11. 小米5短接点 | 小米红米高通短接9008教程视频教程 | 高通9008驱动下载 | 不拆机怎么直接进9008 | 什么线能直接进9008
  12. 学计算机是要智商的,到底有没有必要让计算机拥有智商呢?
  13. matlab有限差分一维导热,一维导热方程-有限差分法-matlab实现(汇编)
  14. 鸿蒙真机对比ios,为什么说鸿蒙与iOS、安卓不在一个赛道
  15. 富文本编辑器 —— 学习笔记
  16. elasticsearch索引、文档、映射等概念
  17. 明明可以靠脸吃饭偏要靠才华_你身边有女神程序员吗?
  18. PyGobject(十九)布局容器之Alignment
  19. 公路施工过程中对于路缘石滑模机作业流程的解析
  20. 16进制转字符串字符串转16进制

热门文章

  1. 利用打印事件实现打印表格受控签字盖章
  2. 功能测试和自动化测试的差距在哪里?
  3. 《小额贷款系统》项目研发总结
  4. PAX1000 Quick Reference_快速参考
  5. java web超时提醒_如何在Java Web应用程序中动态设置会话超时?
  6. 区块链赋能人工智能,和数软件为何能实现突破?
  7. SEO关键词挖掘工具
  8. 服务器数据安全说明文件,safeshare能保护服务器文件在被用户浏览编辑过程中的数据安全(…...
  9. 赛斯特牵手中企动力创新营销服务增强核心竞争力
  10. 三、51单片机模块介绍