用户与安全 -(1)Linux用户及组管理
关注「开源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用户及组管理的更多相关文章
- Linux LVM卷组管理
Linux LVM卷组管理 由于传统的磁盘管理不能对磁盘进行磁盘管理,因此诞生了LVM技术,LVM技术最大的特点就是对磁盘进行动态管理. 由于LVM的逻辑卷的大小更改可以进行动态调整,且不会出现丢失数 ...
- Linux学习之组管理和权限管理
Linux组的基本介绍 在Linux中的每个用户必须属于一个组,不能独立于组外.在Linux中每个文件有所有者,所在组,其他组的概念. 1)所有者 2)所在组 3)其他组 4)改变用户所在的组 文件/ ...
- linux上的组管理
上一次我们谈了CentOS上的用户管理,现在我们再来谈下CentOS上的用户组管理. groupadd创建一个新的组 用法如下: groupadd [选项] groupname 常用选项: -f 强制 ...
- linux学习(五)-----组管理和权限管理
Linux 组基本介绍 在 linux 中的每个用户必须属于一个组,不能独立于组外.在 linux 中每个文件有所有者.所在组.其它组的概念. 1)所有者 2)所在组 3)其它组 4)改变用户所在的组 ...
- Linux用户与组管理命令
1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可. who | cut -d" " -f1 | sort -u 或 who | cut -d ...
- Linux用户和组管理命令-用户删除userdel
删除用户 userdel 可删除Linux 用户 格式: userdel [OPTION]... Login 常见选项: -f, --force 强制 -r, --remove 删除用户家目录和邮箱 ...
- Linux 用户与用户组
1 Linux 用户与组 Linux是一个多用户多任务操作系统.多用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响. 1.1 Linux下用户的角色分类 Linux用户的角色分为3 ...
- linux用户权限 -> 系统用户管理
用户基本概述: Linux用户属于多用户操作系统,在windows中,可以创建多个用户,但不允许同一时间多个用户进行系统登陆,但是Linux可以同时支持多个用户同时登陆操作系统,登陆后互相之间并不影响 ...
- Linux 用户和文件权限管理
Linux —— 用户权限管理 权限: 为什么需要权限管理? 1.计算机资源有限,我们需要合理的分配计算机资源. 2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重 ...
- linux用户管理-用户的基本操作
目录 linux用户管理-用户的基本操作 用户相关的命令 linux用户管理-用户的基本操作 什么是用户 用户指能够正常登录linux或windows系统 区别 本质都是登录系统的,只不过Linux支 ...
随机推荐
- 哪些是重要的bean生命周期方法?你能重载它们吗?
有两个重要的bean 生命周期方法,第一个是setup , 它是在容器加载bean的时候被调用.第二个方法是 teardown 它是在容器卸载类的时候被调用. The bean 标签有两个重要的属性( ...
- Kafka 新旧消费者的区别?
旧的 Kafka 消费者 API 主要包括:SimpleConsumer(简单消费者) 和 ZookeeperConsumerConnectir(高级消费者).SimpleConsumer 名字看起来 ...
- 解释Spring框架中bean的生命周期?
Spring容器 从XML 文件中读取bean的定义,并实例化bean. Spring根据bean的定义填充所有的属性. 如果bean实现了BeanNameAware 接口,Spring 传递bean ...
- Redis缓存穿透、缓存雪崩、缓存击穿
缓存穿透: 缓存穿透,是指查询一个数据库一定不存在的数据.正常的使用缓存流程大致是,数据查询先进行缓存查询,如果key不存在或者key已经过期,再对数据库进行查询,并把查询到的对象,放进缓存.如果 ...
- CPU架构:CPU架构详细介绍
1 概述 CPU架构是CPU商给CPU产品定的一个规范,主要目的是为了区分不同类型的CPU.目前市场上的CPU分类主要分有两大阵营,一个是intel.AMD为首的复杂指令集CPU,另一个是以IBM.A ...
- H5: 表单验证失败的提示语
前言 前端的童鞋在写页面时, 都不可避免的总会踩到表单验证这个坑. 这时候, 我们就要跪了, 因为要写一堆js来检查. 但是自从H5出现后, 很多常见的表达验证, 它都已经帮我们实现了, 让我 ...
- zx-editor 移动端(HTML5)富文本编辑器,可与原生App混合(hybrid)开发
ZxEditor 移动端HTML文档(富文本)编辑器,支持图文混排.引用.大标题.无序列表,字体颜色.加粗.斜体. 可用于独立web项目开发,也可以用于与原生App混合(hybrid)开发. 源码地址 ...
- Java/C++实现策略模式---旅游出行方式
旅游的出行方式有乘坐飞机旅行.乘火车旅行和自行车游,不同的旅游方式有不同的实现过程,客户可以根据自己的需要选择一种合适的旅行方式. 类图: Java代码: public class Person { ...
- Ubuntu之安装Gradle
简介 Gradle 是以 Groovy 语言为基础,面向Java应用为主,基于DSL(领域特定语言)语法的自动化构建工具. 现在Android Studio用它来编译APK程序. 前提 Ubuntu官 ...
- JavaScript操作select下拉框选项移动
运行结果: 源代码: 1 <!DOCTYPE html> 2 <html lang="zh"> 3 <head> 4 <meta char ...