用户和用户组的概念

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

  • 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. Shell系列(29)- 单分支if语句格式

    单分支if条件语句 if [ 条件判断 ] ;then 程序 fi 或者 if [ 条件判断 ] then 程序 fi 注意点 if语句使用fi结尾,和一般语言使用大括号结尾不同 [ 条件判断 ]就是 ...

  2. P4091-[HEOI2016/TJOI2016]求和【斯特林数,NTT】

    正题 题目链接:https://www.luogu.com.cn/problem/P4091 题目大意 给出\(n\),求 \[\sum_{i=0}^n\sum_{j=0}^i\begin{Bmatr ...

  3. Spring Security 学习+实践

    Spring Security是Spring为解决应用安全所提供的一个全面的安全性解决方案.基于Spring AOP和Servlet过滤器,启动时在Spring上下文中注入了一组安全应用的Bean,并 ...

  4. 关于Postman你必须学会的技能

    关于Postman 工欲善其事,必先利其器,在了解了接口测试之后,就要选择一款适用的工具.之所以选择postman是因为它简单.容易上手.能覆盖大多数HTTP接口测试场景,性价比极高. Postman ...

  5. 5分钟实现用docker搭建Redis集群模式和哨兵模式

    如果让你为开发.测试环境分别搭一套哨兵和集群模式的redis,你最快需要多久,或许你需要一天?2小时?事实是可以更短. 是的,你已经猜到了,用docker部署,真的只需要十几分钟. 一.准备工作 拉取 ...

  6. ❤️【Python从入门到精通】(二十六)用Python的PIL库(Pillow)处理图像真的得心应手❤️

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本篇重点介绍Python处理图像的标准库PIL库,处理图像真的的很方便. 干货满满,建议收藏,需要用到时常看看. 小伙伴们如有问题及需要,欢迎踊跃 ...

  7. NOIP 模拟 六十九

    0+30+40+90, 菜..... T1 取石子 考试扔了将近两个小时,最后也没有回忆起博弈论的相关内容.. 现在只会50pts.正解待补. #include<bits/stdc++.h> ...

  8. 迁移appseting.json创建自定义配置中心

    创建一个自定义的配置中心,将框架中各类配置,迁移至数据库,支持切换数据库,热重载. 说在前面的话 自使用.net Core框架以来,配置大多存在json文件中: [框架默认加载配置]文件为appset ...

  9. C++核心编程 4 类和对象-对象的初始化和清理

    构造函数和析构函数 对象的初始化和清理工作是两个非常重要的安全问题,一个对象或者变量没有初始状态,对其使用结果是未知的,同样,使用完一个对象或变量,没有及时清理,也会造成一定的安全问题.C++利用了构 ...

  10. Python技法2:函数参数的进阶用法

    1.关键字参数(positional argument)和位置参数(keyword argument) Python函数的参数根据函数在调用时(注意,不是函数定义时)传参的形式分为关键字参数和位置参数 ...