day4:用户-用户组

news2024/10/20 21:12:17

一,用户和用户组的概述

用户与用户组的概述与作用

  1. 用户(User)

    •  用户是操作系统中的基本单位,每个用户都有自己的唯一标识(UID)。
    • 用户可以登录系统并执行各种操作,但受到权限的限制。
    • 通过 为用户分配不同的权限,可以确保系统的安全性和数据的完整性。
  2. 用户组(Group)

    • 用户组是一组用户的集合,这些用户共享某些特定的权限。
    • 通过将用户添加到用户组,可以方便地管理大量用户的权限。
    • 用户组还可以简化权限分配的过程,提高管理效率。

用户的分类

  1. 超级用户(root)

    • 拥有最高权限,可以执行系统上的所有操作。
    • 用户名通常为root
  2. 普通用户

    • 系统中数量最多的用户类型。
    • 权限有限,只能在自己的主目录下进行操作,并且只能执行部分系统命令。
    • 可以通过adduser命令创建。
  3. 系统用户(或伪用户)

    • 不代表真实的人,而是代表系统服务或进程。
    • 通常没有主目录,登录shell设置为/sbin/nologin/bin/false
    • 用于运行系统服务,如邮件、FTP、MySQL等。
    • 在安装这些服务会自动创建对应用户已达成对应权限管理

linux用户与用户组

  • 用户组是一个逻辑集合,包含了一组具有相同权限的用户。
  • 用户可以属于多个用户组,但通常主要归属于一个基本组。

二,用户组的管理

用户与用户组的关系

一个用户只有一个主组,可以有多个属组。

用户主组和附加组的概念

  • 主组:每个用户都有一个主组,通常是创建用户时自动创建的,与用户名相同。
  • 附加组:除了主组之外,用户还可以被添加到多个附加组中,这些组用于提供额外的访问权限。

用户主组和附加组的作用

  • 主组:决定了用户创建的文件和目录的默认所属组。
  • 附加组:允许用户访问其他组的资源,增加了用户访问权限的灵活性。

用户组查询

/etc/group中存放在组的相关信息

compgen -g可以查看有哪些组

groups查看当前登录用户的主组

用户组添加

groupadd 【选项 选项值】用户组名

-g  数字用户组id:不指定从1000开始(1-999是系统组,0是root组,其它是普通组)

--system:创建系统用户组

用户组删除

groupdel 【选项 选项值】 用户组名

-f:强制删除指定的已有的用户组(慎用),当组被当做主组,附属组的时候可以

用户组成员管理

gpasswd 【选项】用户名 组名

-a:添加用户到组

-d:从组中删除用户

-M:同时添加多个用户(逗号隔开)到组

-A:指定组中管理员

-r:删除组密码

三,用户管理

查询用户

  1. 查看用户列表

    • 或者使用 cat /etc/passwd 查看所有用户的密码文件。
    • compgen -u
    • users/whoami/who(终端用户):当前用户

  2. 查询用户信息

    • 使用 id 【用户名】 查看用户的 ID 信息。
    • 或者使用 cat /etc/passwd 查看所有用户的密码文件。

添加用户

useradd 【选项】用户名{本质上修改/etc/下的group,passwd,gshadow,shadow文件}

-u:指定用户uid,唯一标识,必须唯一

-g:指定用户默认(主组,要提前有)

-G:指定用户附加组(逗号多个)

-d:指定用户家目录(要提前创建好)

-s:指定默认shell

-c:添加备注信息

用户密码设置

passwd 【用户名】{不写用户名就是修改当前用户}

root可以设置所有用户密码,而且可以不遵守密码规范,其它用户只可以设置自己的,而且要遵守密码规范

密码规范(不小于8位,包含大小写,数字,特殊字符)

echo “密码” | passwd --stdin 用户名(非交互输入密码)

-S:查看用户密码是否有效

另外:chage -l 用户名也可以查看密码的大量相关信息

查看密码文件/etc/shadow

root

#用户名

:$5$Ls5ATDQJUvZ2dsLi$kD1O1wjWd1bt1NJPZ7/rTgpvYibwR/pQPNti8yQ7xX.

#加密后的密码,!!表示没有设置密码

:

#最后一次改密码的天数(距离1970.1.1的天数)

:0

#距离创建或上一次修改的最小密码周期,0表示可以立即更改,比如:3表示必须三天后

:99999

#密码宽限期,如果为1表示这个密码只能用1天,一天内还是可以登录但会提示修改,一天后账号会被锁定

:7

#密码修改提醒时间,根据密码宽限期提前多少天提醒修改密码

:

#表示账户被禁用的日期。如果设置为空或为未来的日期,则账户有效;如果设置为过去的日期,则账户被禁用。(从1970.1.1计算天数)

:

#表示在账户被禁用后,用户可以继续使用的天数。一旦超过这个宽限天数,用户将无法登录系统。

:

#没有作用,暂时保留

修改用户信息

usermod 【选项】用户名

-u 数字:指定新uid

-g:指定默认组(主组)

-G:指定附加组(逗号隔开添加多个)

-d:指定家目录(要存在)

-s:指定默认shell解析器

-L:锁定用户,让其无法登录(让密码失效,所以在更改密码后锁定用户效果消失)

-U:解锁用户

-c  备注信息:修改用户账户备注信息

删除用户

userdel 【-r】用户名

-r:删除家目录,邮件等,建议使用,不写-r表示删除用户,但是家目录,主组不删除

切换用户

su 【-】【用户名】

su 【-】【用户名】中的-,表示切换账号的同时也切换目录到对应账户的家目录

不写

exit可以退出当前用户,建议使用

四,扩展内容

chage 【选项】【选项值】用户名

-l:列出用户的详细密码状态

-d 日期:修改/etc/shadow文件中指定用户密码信息的第三个字段(这一次修改密码的日期)YYYY-MM-DD(0表示当前)当到了日期就要修改密码,所以0就是当前马上修改

-m 天数:密码最短保留天数,/etc/shadow的第四个字段

-M 天数:密码的有效期,必须在这之前修改,也就是/etc/shadow的第五个字段

-W 天数:修改密码提醒时间,密码有效期到期的前x天提醒你要修改密码了,第六个字段

-I(大写i) 天数:当密码有效期过了后的宽限期,第七个字段

-E 日期(yyyy-mm-dd):修改账户失效日期,第八个字段,失效日期在未来,那么这个账户就没有失效

另外有选项值类型为yyyy-mm-dd可以这么写,推荐这么写

"+【数字】days"表示以当前为依据添加

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2219571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mysql主从复制及故障修复

一、主MySQL数据库的配置 分别在三台主机(chen2/10.110、chen3/10.120、chen4/10.130)中安装mysql数据,其中chen2/10.110作为主MySQL服务器,其余两台作为从MySQL服务器。 1、在主机上部署mysql数据库 详细的请看上一篇:mysql数据…

Linux笔记之文件查找和搜索命令which,find,locate,whereis总结

Linux笔记之文件查找和搜索命令which,find,locate,whereis总结 code review! 文章目录 Linux笔记之文件查找和搜索命令which,find,locate,whereis总结1.对比2.whereis 和 which 命令区别3.locate 和 find 命令区别 1.对比 命令功能说明备注which常用于查找可直接执行的命令。…

大模型涌现判定

什么是大模型? 大模型:是“规模足够大,训练足够充分,出现了涌现”的深度学习系统; 大模型技术的革命性:延申了人的器官的功能,带来了生产效率量级提升,展现了AGI的可行路径&#x…

C语言 | 第十七章 | 家庭收支软件-2 读写文件

P 161 项目-CRM(3)-主菜单 2023/3/23 一、显示主菜单 功能说明:用户打开软件,可以看到主菜单,输入5退出软件 思路分析:在customerManage.c中,编写一个函数mainMenu,显示菜单, 在main函数中调&#xff0c…

计算机组成原理(笔记7高速缓冲存储器Cache,计算机组成原理的重难点全、直接、组相连)

为什么要设立高速缓冲存储器 (Cache)? Cache是介于CPU和主存之间的小容量存储器,存取速度比主存快。它能高速地向CPU提供指令和数据,加快程序的执行速度。它是为了解决CPU和主存之间速度不匹配而采用的一项重要技术。…

unity静态批处理

unity静态批处理 静态批处理要求和兼容性渲染管线兼容性 使用静态批处理在构建时进行静态批处理在构建时执行静态批处理的步骤: 在运行时进行静态批处理性能影响 静态批处理 静态批处理是一种绘制调用批处理方法,它将不移动的网格组合在一起&#xff0c…

【HarmonyOS NEXT】权限申请及应用设置页跳转

关键词:鸿蒙、程序访问控制、定位、应用详情页、startability、want 在app开发过程中,常进行系统权限的申请以提供设备访问或个性化功能(如扫一扫、城市定位、剪贴板等),从而保障应用功能的完整性,那么本期…

mov 转 mp4

1. 下载 ffmpeg 下载链接 Tags GyanD/codexffmpeg GitHub 下载 windos 精简版 解压 (里面的mov文件和mp4文件是我后面自己加的) 2. 转换 转换命令 ffmpeg -i 5.mov -c:v libx264 -c:a aac 5.mp4 其中 5.mov 是源文件路径 5.mp4是目标路径 使用lib…

计算机毕业设计 零食批发商仓库管理系统的设计与实现 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…

智发展 智飞跃 亚信安全与新华三深化战略合作

10月16日,亚信安全与新华三集团共同宣布,双方正式签署战略合作协议,双方将基于各自在硬件及软件安全领域的能力和优势,在产品、解决方案、市场拓展等多个领域深入合作,赋能千行百业数字化转型与变革。 亚信安全CEO马红…

跨域问题及常用的5种解决方案

1.什么是跨域问题? 跨域问题通常指的是在浏览器中由于同源策略的限制而产生的问题。同源策略(Same-origin policy)是浏览器的一种安全措施,它要求请求的域名、协议和端口必须与提供资源的网站相同。当一个网页尝试访问另一个来源…

【算法】C++中的二分查找

📢博客主页:https://blog.csdn.net/2301_779549673 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📢本文由 JohnKi 原创,首发于 CSDN🙉 📢未来很长&#…

wifi、热点密码破解 - python

乐子脚本,有点小慢,试过多线程,系统 wifi 连接太慢了,需要时间确认,多线程的话系统根本反应不过来。 也就可以试试破解别人的热点,一般都是 123456 这样的傻鸟口令 # coding:utf-8 import pywifi from pyw…

初识git · 基本操作

目录 前言: 基本操作 检查是否存在git 初始化仓库 认识三个区域 添加文件 查看.git文件 修改文件 版本回退 撤销操作 删除文件 我的博客即将同步至腾讯云开发者社区,邀请大家一同入驻:https://cloud.tencent.com/developer/suppor…

Qt-多线程

1. Qt 多线程概述 Qt 默认只有一个主线程,该线程既要处理窗口移动,又要处理各种运算。 当要处理的运算比较复杂时,窗口就无法移动,所以在处理程序时在很多情况下都需要使用多线程来完成。 示例:移动窗口和复杂循环 …

八股面试2(自用)

mysql存储引擎 存储引擎:定义数据的存储方式,以及数据读取的实现逻辑 在以前数据库5.5默认MyISAM引擎,之后默认InnoDB引擎 MyISAM引擎的数据和索引是分开存储的,InnoDb将索引和文件存储在同一个文件。 MyISAM不支持事务&#…

SPOOLing技术详解,结合实际场景让你了解什么是假脱机技术。

SPOOLing技术 ​ 在手工操作阶段,主机直接从I/O设备获取数据,但是由于设备速度很慢,主机速度很快。人机速度矛盾明显,主机需要浪费很多时间来等待设备。 什么是脱机技术,脱机技术可以解决什么问题? 所谓脱…

大数据测试:Charles修改响应数据

上一篇大数据测试:Fiddler修改响应数据-CSDN博客 ,有同学反馈有没有Charles的方式修改响应数据,本篇就是Charles修改数据操作步骤,相比较fiddler,Charles相对简单,便捷,我很喜欢 1、背景&…

【笔记】【YOLOv10图像识别】自动识别图片、视频、摄像头、电脑桌面中的花朵学习踩坑

(一)启动 创建环境python3.9 打开此环境终端 (后面的语句操作几乎都在这个终端执行) 输入up主提供的语句:pip install -r requirements.txt 1.下载pytorch网络连接超时 pytorch网址: Start Locally | P…

java -jar 命令自动重启 Java 项目

一、java -jar 方式运行项目 重启Java项目通常意味着你需要先停止当前运行的Java进程,然后再次启动它。下面是在CentOS上执行这些步骤的一种常见方法: 停止Java进程 找到Java进程的PID: 使用ps命令配合grep来查找运行中的Java进程的PID&#…