关注「开源Linux」,选择“设为星标”

回复「学习」,有我为您特别筛选的学习资料~

前言

Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。而用户和用户组管理,顾名思义就是添加用户和用户组、更改密码和设定权限等操作。

用户和组的概念

Linux 系统对用户与组的管理是通过ID号来实现的。我们在登录系统时,输入用户名与对应密码,操作系统会将用户名转化为ID号后再判断该用户是否存在,并对比密码是否匹配。

Linux 中,用户ID号被称为UID,组ID号被称为GID。其中,UID为0,代表超级管理员,也就是通常所说的root用户。Linux用户总共分为三种,分别如下:

  • root用户(ID 0)

  • 系统用户(ID 1~499)

  • 普通用户(ID 500-60000)

Linux 操作系统中的组分为基本组与附件组,一个用户仅可以加入一个基本组中,但可以同时加入多个附加组。默认在创建用户时,系统默认会自动创建同名的组,并设置用户加入该基本组中。

Linux用户管理

01 创建用户

 用法:useradd [选项] 用户名称
常用选项: -c 设置用户描述信息,一般为用户全程 -d 设置用户家目录,默认为/home/用户名 -e 设置用户失效日期,格式为YYYY-MM-DD -g 设置用户的基本组 -G 设置用户的附件组,多个附件组中间用逗号隔开 -M 不创建用户家目录,一般与-s结合使用 -s 设置账号登录shell,默认为bash -u 指定用户UID 示例:
[root@qll ~]# useradd -s /sbin/nologin -M user01
# 创建用户user01,限制该用户无法登陆系统且没有家目录 [root@qll ~]# useradd -c administrator -d /home/admin -e 2020-03-11 -g root -G mail,bin admin
# 创建一个名为admin的账号,描述是administrator,账号家目录为/home/admin,账号失效时间为2021年2月25号,账号基本组为root,附件组为mail、bin

02 设置用户属性

用法:usermod [选项] 用户名称
常用选项: -d 修改用户家目录 -e 修改用户失效日期 -g 修改用户所属基本组 -G 修改用户所属附件组 -s 修改用户登录shell -u 修改用户UID 示例:
[root@qll ~]# usermod -d /home/nginx nginx01
# 修改nginx01家目录为/home/nginx [root@qll ~]# usermod -u 1005 admin
# 修改admin用户的UID为1005 [root@qll ~]# usermoud -s /sbin/nologin admin
# 限制admin用户无法登陆系统

03 修改用户属性

用法:passwd [选项] [用户名称]
常用选项: -l 锁定账号,仅root用户可使用此选项 --stdin 从文件或管道读取密码 -u 解锁密码 -d 快速清空账号密码,仅root用户可使用此选项 示例:
[root@qll ~]# echo "abc123" | passwd --stdin admin
# 无交互式创建admin账号的密码为adc123 [root@qll ~]# passwd -l admin
# 锁定admin账号

04 删除用户

用法:userdel [-r] 用户名
常用选项: -f:强制删除用户,即使用户当前已登录
-r:在删除用户的同时删除用户的家目录 示例:
[root@qll ~]# userdel -r admin
# 删除admin用户,同时删除admin的家目录文件。

Linux用户组管理

01 创建用户组

  用法:groupadd [选项] 用户组名称
常用选项:
-g 设置组ID
[root@qll ~]# groupadd -g 1008 test01
# 创建用户组test01,同时指定GID为1008

02 修改用户组属性

(1) 用户组重命名:

groupmod -n 新用户组名  原用户组名
[root@qll ~]# groupmod -n new_test test01
# 将用户组test01重命名为new_test

(2) 重设用户组的 GID:

groupmod -g new-group_GID 用户组名称
[root@qll ~]# groupmod -g 1002 new_test
# 将用户组new_test的GID修改为1002

03 删除用户组

  语法:groupdel 用户组名
[root@qll ~]# groupdel new_test
# 删除组new_test

04 添加用户到指定组

语法:gpasswd -a 用户账户  用户组名
[root@qll ~]# gpasswd -a test_user admin
# 将test_user用户添加至admin用户组

05 从用户组中移除某用户:

语法:gpasswd -d 用户账户  用户组名
[root@qll ~]# gpasswd -d test_user admin
# 将admin用户组中的test_user用户移除

06 将用户指派为用户组管理员

语法:gpasswd -A 用户账户 用户组名
[root@qll ~]# gpasswd -A test_user admin
# 将test_user用户设置为admin用户组管理员

总结:查看用户的常用方法

(1) id命令

描述:查询指定用户的用户和组信息。
用法:id [选项]... [用户名]
说明:如果省略用户名,打印打印当前用户的用户和组信息。
[root@qll ~]# id test_user
uid=1000(test_user) gid=1000(test_user) 组=1000(test_user)
[root@qll ~]# id
uid=0(root) gid=0(root) 组=0(root)

(2) who命令

描述:查询当前登录的所有用户信息
[root@qll ~]# who
root     tty1         2021-02-19 21:45
root     pts/0        2021-02-19 23:40 (10.47.12.7)
test_user pts/1        2021-03-05 23:52 (10.47.12.18)

(3) whoami命令

描述:查询当前登录用户的名称
[root@qll ~]# whoami
root

(4) last命令

描述:查询目前与过去登录系统的用户相关信息
说明:该命令默认读取/var/log/wtmp文件,数据直接查看是乱码,防止人为修改。

(5) lastb命令

描述:查询登入系统失败的用户相关信息。
说明:该命令默认读取/var/log/btmp文件,数据直接查看是乱码,防止人为修改。

(6) lastlog命令

描述:查询系统中所有用户最近一次登录信息。
说明:该命令默认读取/var/log/lastlog文件,数据直接查看是乱码,防止人为修改。

(7) last reboot命令

描述:查看系统重启记录


关注「开源Linux」加星标,提升IT技能

用户与安全 -(1)Linux用户及组管理的更多相关文章

  1. Linux LVM卷组管理

    Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...

  2. Linux学习之组管理和权限管理

    Linux组的基本介绍 在Linux中的每个用户必须属于一个组,不能独立于组外.在Linux中每个文件有所有者,所在组,其他组的概念. 1)所有者 2)所在组 3)其他组 4)改变用户所在的组 文件/ ...

  3. linux上的组管理

    上一次我们谈了CentOS上的用户管理,现在我们再来谈下CentOS上的用户组管理. groupadd创建一个新的组 用法如下: groupadd [选项] groupname 常用选项: -f 强制 ...

  4. linux学习(五)-----组管理和权限管理

    Linux 组基本介绍 在 linux 中的每个用户必须属于一个组,不能独立于组外.在 linux 中每个文件有所有者.所在组.其它组的概念. 1)所有者 2)所在组 3)其它组 4)改变用户所在的组 ...

  5. Linux用户与组管理命令

    1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...

  6. Linux用户和组管理命令-用户删除userdel

    删除用户 userdel 可删除Linux 用户 格式: userdel [OPTION]... Login 常见选项: -f, --force 强制 -r, --remove 删除用户家目录和邮箱 ...

  7. Linux 用户与用户组

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

  8. linux用户权限 -> 系统用户管理

    用户基本概述: Linux用户属于多用户操作系统,在windows中,可以创建多个用户,但不允许同一时间多个用户进行系统登陆,但是Linux可以同时支持多个用户同时登陆操作系统,登陆后互相之间并不影响 ...

  9. Linux 用户和文件权限管理

    Linux —— 用户权限管理 权限: 为什么需要权限管理?    1.计算机资源有限,我们需要合理的分配计算机资源.    2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重 ...

  10. linux用户管理-用户的基本操作

    目录 linux用户管理-用户的基本操作 用户相关的命令 linux用户管理-用户的基本操作 什么是用户 用户指能够正常登录linux或windows系统 区别 本质都是登录系统的,只不过Linux支 ...

随机推荐

  1. 4.RDD操作

    目录 一. RDD创建 从本地文件系统中加载数据创建RDD 从HDFS加载数据创建RDD 通过并行集合(列表)创建RDD 二. RDD操作 转换操作 filter(func) map(func) fl ...

  2. Visual Studio App Center 中的 Bug 跟踪服务

    我在之前的一篇文章 <使用 Visual Studio App Center 持续监视应用使用情况和问题> 中介绍了 App Center 的基本功能及使用入门,其中 诊断 可以自动手机用 ...

  3. Altium Designer 原理图的绘制前导

    元件库.封装库设计 部分元器件厂商或者经销商不提供元件库和封装库,只给了元器件尺寸图,所以需要自行设计元件库文件或是封装库文件 元件库设计: 新建  .SchLib 文件:File  ->  N ...

  4. 顺利通过EMC实验(11)

  5. 前端进阶(8) - 前端开发需要了解的工具集合:webpack, eslint, prettier, ...

    前端开发需要了解的工具集合:webpack, eslint, prettier, ... 前端开发需要了解的一些工具,这些工具能够帮助你在项目开发中事半功倍. 1. nrm: npm registry ...

  6. 基于腾讯开源的msec来进行php开发模块

    msecphp 毫秒服务引擎(Mass Service Engine in Cluster)是一个开源框架,适用于在廉价机器组成的集群上开发和运营分布式后台服务. 毫秒服务引擎集RPC.名字发现服务. ...

  7. python-查找鞍点

    [题目描述]对于给定5X5的整数矩阵,设计算法查找出所有的鞍点的信息(包括鞍点的值和行.列坐标,坐标从1开始). 提示:鞍点的特点:列上最小,行上最大.   [练习要求]请给出源代码程序和运行测试结果 ...

  8. javaweb之删除功能

    对数据库的删除,主要是通过表中的一个数据查询来进行逐个删除,否则会清空整张表. 一.dao层 在dao层加入删除方法 public boolean delete(Course n) { boolean ...

  9. Python中使用正则表达式获取两个字符中间部分

    问题背景:当我们爬取网页信息时,对于一些标签的提取是没有意义的,所以需要提取标签中间的信息. 解决办法:用到了re包下的函数 方法1:用到了research()方法和group()方法 方法2:用到了 ...

  10. 【Android开发】Coding + git命令行基本使用

    上传代码 进入本地仓库的目录. cd ... 查看仓库链接 : git remote -v 如果没有,则添加url链接 : git remote add testName https://git.co ...