用户和用户组的概念

用户 ———> 使用操作系统的人

  • Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

  • 每个用户账号都拥有一个唯一的用户名和各自的口令。

用户组 ———> 具有相同权限系统的一组用户

  • 用户组是具有 相同特征用户 的逻辑集合。

  • Linux将用户分组是 Linux对用户 进行管理访问控制权限 的一种手段,很大程度上简化了管理工作

    用户和用户组的关系。

主要组和附属组 ———> 用户可以同时属于多个组,其中一个主要组,多个附属组

相关文件配置

/etc/passwd 存储当前系统中所有用户的信息(密码除外)

该文件内容的每一行代表一个 用户的配置信息 ,每个用户信息格式固定。

  • 第一个字段(第一个root):用户名

  • 第二个字段(x):加密的密码

  • 第三个字段(第一个0):用户ID

  • 第四个字段(第二个0):用户组ID

  • 第五个字段(第二个root):用户的描述信息,默认用户的全名或空值

  • 第六个字段(/root):用户的主目录

  • 第七个字段(/bin/bash):登录shell,字段 /sbin/nologin 表示禁止登录

/etc/shadow 存储当前系统中所有用户的密码信息

shadow配置文件的行数与 passwd文件相同,并且每行与 passwd每一行都对应。

  • 第一个字段(root):用户名

  • 第二个字段($...0):加密后的密码(盐值加密)

  • 第三个字段:密码的最后一次修改时间(元年计数,1970年1月1日作为1

  • 第四个字段:密码在多少天内不能更改

  • 第五个字段(9999):密码在多少天后必须更改

  • 第六个字段(7):密码到期前多少天给用户发出警告

  • 第七个字段:密码在多少天后用户账户将被禁用

  • 第八个字段:密码将禁用的具体日期

  • 第九个字段:保留字段

/etc/group 存储当前系统中所有用户组信息

该文件内容的每一行代表一个用户组 ,每个用户组信息格式固定

  • 第一个字段(root):用户组的组名

  • 第二个字段(x):加密后的用户组密码

  • 第三个字段(0):用户组ID,GID

  • 第四个字段(空值):用户组的成员列表,多个组成员用逗号分隔

/etc/gshadow 存储用户组密码的一类信息

passwd用于存放组的加密密码 ,每个组账户在该行占用一行,每行分为4个字段

  • 第一个字段:用户组名称

  • 第二个字段:加密后的用户组密码,如果是空或!代表没有密码

  • 第三个字段:用户组管理者,空值代表没有组管理员

  • 第四个字段:用户组的成员列表,空值代表无成员列表

从相关文件分析用户和组之间的联系

相关命令

用户命令

使用命令后可以查看用户和用户组配置文件内容

命令 说明
useradd用户名 创建用户,同时创建与用户名同名的组
useradd -g 组名 用户名 创建用户并指定用户组
useradd用户名 -s xxx 创建用户并指定用户登录后所使用的shell, 如果值为/sbin/ nologin 或者** /bin/false** 时,表示禁止该用户登录
usermod -g 用户组 用户名 修改用户所在用户组
usermod -l 新用户名 用户名 修改用户名
userdel 用户名 删除用户,不删除用户的家目录(-r 参数同时删除家目录)

用户组命令

命令 说明
groupadd组名 创建用户组
groupadd -g 组编号 组名 创建用户组同时指定编号
groupmod- n新组名 旧组名 修改用户组的组名
groupmod -g 组编号 组名 修改用户组的组编号
groupdel 组名 删除指定用户组

修改密码

  • 普通用户直接输入 passwd命令修改自己的密码。不能加用户名修改别的用户密码

  • 普通用户设置密码必须符合密码原则,root用户可以任意设置

命令 说明
sudo passwd 初始化root用户密码
passwd 用户名 修改用户密码(新创建用户即为设置密码)
gpasswd用户组 修改/设置用户组密码

锁定和解锁用户

  1. 禁止个别用户登录
passwd -l test  # 这就话的意思是锁定test用户,这样该用户就不能登录了。
passwd -u test # 对锁定的用户lynn进行解锁,用户可登录了。
  1. 我们通过修改/etc/passwd文件中用户登录的shell
vi /etc/passwd
test:x:500:500::/home/test:/bin/bash
更改为:
test:x:500:500::/home/test:/sbin/nologin
该用户就无法登录了。
  1. 禁止所有用户登录
touch /etc/nologin
除root以外的用户不能登录了!

其他命令

命令 说明
su 用户名 切换用户身份,如果不带参数,则切换为root身份
id 用户名 显示指定用户信息,包括用户编号、用户名,组编号、组名
whoami 显示当前登录用户名
who 显示系统中有哪些使用者正在线(windows下对应命令quser,常用于看管理员是否在线)

Linux 用户&用户组的更多相关文章

  1. linux 用户/用户组添加修改删除(ubuntu/centos)

    一.LINUX(UBUNTU/CENTOS)用户添加删除修改 1.建用户: adduser web                             //新建web用户 useradd web  ...

  2. linux用户用户组与ACL

    使用者ID:UID与GID 在使用Linux的过程中,经常会遇到各种用户ID(user identifier, UID)和组ID(group identifier, GID),Linux也是通过对这些 ...

  3. linux 用户 用户组

    useradd -m -G sudo zhangxiao passwd zhangxiao

  4. Linux 用户和用户组管理

    Linux 用户和用户组管理 Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助 ...

  5. linux用户管理,linux用户口令管理,linux用户组管理,linux用户权限管理详解

    linux用户管理 http://www.qq210.com/shoutu/android 用户账号的添加(新加用户需添加用户口令) :增加用户账号就是在/etc/passwd文件中为新用户增加一条记 ...

  6. Linux 用户与用户组

    1  Linux 用户与组 Linux是一个多用户多任务操作系统.多用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响. 1.1  Linux下用户的角色分类 Linux用户的角色分为3 ...

  7. Linux用户与用户组,UID及GID

    以下列出文章: Linux系统下如果查看用户的UID和GID:http://blog.csdn.net/ahangliu/article/details/7567444 Linux的用户和用户组管理: ...

  8. Linux用户及用户组管理

    Linux是个优秀的多用户多任务操作系统. 掌握Linux的用户/用户组管理是基本及必备技能之一. 简单做下总结. 无论采用图形界面的用户管理设置,还是终端的管理方式,最终目的都是对系统的用户/用户组 ...

  9. 【Linux】新建用户 用户组

      案例 hadoop #添加用户组 sudo useradd -s /bin/bash -g hadoop -d /home/hadoop -m hadoop #添加用户 sudo passwd h ...

随机推荐

  1. modern php enable zend opcache

    字节码缓存能存储预先编译好的php代码 * 如果是自己编译PHP ./configure --enable-opcache 编译好后 php.ini zend_extension=opcache.so ...

  2. git 操作 :从远程仓库gitLab上拉取指定分支到本地仓库;git如何利用分支进行多人开发 ;多人合作代码提交实践

    例如:将gitLab 上的dev分支拉取到本地 git checkout -b dev origin/dev 在本地创建分支dev并切换到该分支 git pull origin dev 就可以把git ...

  3. 推荐一个pycharm验证xpath表达式的插件XPathView +​ XSLT

    使用Appium进行自动化测试,使用xpath元素定位,想验证xpath定位是否正确,可以使用在线的xpath验证网站,也可以使用这次推荐的插件XPathView +​ XSLT.

  4. Windows10通过WSL编译jdk12

    Windows使用WSL编译OpenJDK 安装Ubuntu以及配置国内镜像 首选确保windows10已经安装了ubuntu 更换ubuntu20.04国内镜像,这里我选择的是阿里云镜像 sudo ...

  5. 7.JVM调优-方法区,堆,栈调优详解

    通常我们都知道在堆空间新生代Eden区满了,会触发minor GC, 在老年代满了会触发full GC, 触发full GC会导致Stop The World, 那你们知道还有一个区域满了一会触发Fu ...

  6. 使用CEF(一)— 起步

    使用CEF(一)- 起步 介绍 Chromium Embedded Framework (CEF)是个基于Google Chromium项目的开源Web browser控件,支持Windows, Li ...

  7. 高德 Serverless 平台建设及实践

    作者 | 邓学祥(祥翼) 来源 | Serverless 公众号 高德从 FY21 财年开始启动 Serverless 建设,至今一年了,高德 Serverless 业务的峰值超过十万 qps 量级, ...

  8. 浅谈一手MYSQL设计规范

    前言: 最近牵头搞一个机场管理集团的项目,发现团队中的成员对于库表设计,有非常多的盲区.所以决定写一篇文章,总结一下最近工作的几年中,常用的一些数据库设计规范和思路. 目的 MySQL数据库与 Ora ...

  9. mybatis 操作数据库(05)

    类型转换.动态排序,查询接口与mapper对应关系说明及其注意事项 一.MyBatis 自带写常见类型转换器.例如:java 类中 String 对应 mySQL中的varchar 二.自定义类型转换 ...

  10. 小白自制Linux开发板 五. Debian文件系统制作,以及WIFI配置、交换分区配置

    该片文章将完整记录一个Debian的最小文件系统的生成,以及自定义配置WIFI组件.网络组件和交换分区配置 本文章参考:https://whycan.com/t_4236.htmlhttp://www ...