账号和权限的管理

文章目录

  • 管理用户账号和组账号
    • 用户账号的分类
      • 超级用户
      • 普通用户
      • 程序用户
    • UID(用户id)和(组账号)GID
      • UID用户识别号
      • GID组标识号
  • 用户账号文件
      • 添加用户账号
      • 设置/更改用户口令

管理用户账号和组账号

用户账号的分类

超级用户

root 用户是 Linux 操作系统中默认的超级用户账号,权限最高,进行系统 管理、维护任务时,才使用 root 用户登录系统,日常事务处理建议只使用普 通用户账号,root ID=0

普通用户

普通用户账号需要由 root 用户或其他管理员用户创建,权限受 到一定限制,只在用户自己的宿主目录中拥有完整权限系统用户 UID:1-999(centos7 版本) 1-499(centos6 版本) UID:即每个用户的身份标示,类似于每个人的身份证号码.

程序用户

在安装Linux操作系统及部分应用程序时,会添加一些特定的低权限用户账号,这些用户一般不允许登录到系统仅用于维持系统或某个程序的正常运 行,如 bin、daemon、ftp、mail
又称为伪用户不会用来登录系统的,主要是用于维持某个服务的正常运行.如:ftp,apache
image.png

UID(用户id)和(组账号)GID

UID用户识别号

管理员组:root 0
UID1~999是系统保留的
UID从1000开始,是由于/etc/login.defs这个文件中的配置决定的
vim /etc/login.defs
image.png
image.png

GID组标识号

普通组:GID
系统组:1-499(CentOS6), 1-999(CENTOS7)
普通组:500+(CentOS6), 1000+(CENTOS7)

主要组 必须要一个组 有且唯一
附加组 可有可无 有可以有多个
默认行为当你创建一个新用户时会自动创建一个和之同名的主组

用户账号文件

保存用户名称,宿主目录,登录shell等基本信息
文件位置在/etc/passwd(简要信息)
格式
image.png
使用 “:” 作为分隔符

x:表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件,只有root用户可以浏览和操作,保证密码的安全
"x"不是表示真正的密码,不能删除,如果删除了 “x”,系统会认为这个用户没有密码,导致只输入用户名而不用输入密码就可以登陆(只能在使用无密码登录,远程是不可以)

第一个0:用户账号的 UID 号

第二个0:所属基本组账号的 GID 号

第二个root:描述性信息,此字段只是用来解释这个用户的意义而已

第三个root:宿主目录,即该用户登录后所在的默认工作目录
通常称为用户的主(家)目录,例如:root主目录为/root,普通用户odysee的主目录为/home/odysee
/bin/bash是登录 Shell 等信息,用户完成登录后使用的

保存用户的密码,账号有效期等消息
文件在/etc/shadow(详细信息)
格式
555: 6 6 6t9TZJ3Ro$nmiF0MVIU3O7Yny86TcAIPTgrbQlItGuUTY/2XZvDStEGmsj2dZRqtBEsxd7aldNPgC93I8Yb/0r6A2Fl0yZL1:19894:0:99999:7:::
使用 “:” 作为分隔符,每行用户信息被划分为 9 个字段
**第一个:**账户名
**第二个:**存放真正加密的密码,采用SHA512散列算法,更加安全 加密源来用MD5 或 DES
!!和*表示没有密码不能登陆,新创建用户是!!,如果密码前面显示双感叹号表示该账户被锁定

**第三个:**上一次修改密码的时间,从1970年1月1日开始算,因为1970年是linux的诞生日,date -d "1970-01-01 18983 days"可以查看哪一天改过
image.png
chage -d

**第四个:**多久之后才可以修改密码,如果是 0,则密码可以随时修改最小修改间隔时间 ,该字段规定了从第三个字段(最后一次修改密码的日期)起,多长时间之内不能修改密码,如果是0 则随时修改密码,如果是10 则代表密码修改后10天之内不能再次修改密码,此字段是为了针对频繁更改账号密码而设计的
chage -m +数字

**第五个:**密码有效期,默认99999(273年),表示永久生效
chage -M +数字

**第六个:**密码到期前的第几天发出告警信息,默认是7天,每次登录系统都会向该账户发出 “修改密码” 的警告信息
chage -W +数字

**第七个:**密码过期的宽限天数,过期后的几天还是可以登陆的,如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用,此字段规定的宽限天数是10,则代表密码过期10天后失效;如果是0 则代表密码过期后立即失效;如果是 -1 则代表密码永远不会失效
chage -I大写i +数字

**第八个:**账号失效时间,使用自 1970 年 1 月 1 日以来的总天数作为账户的失效时间
chage -E +数字
**第九个:**保留,未使用

chage命令
修改账号密码有效期,针对目前系统已有用户
格式
chage +选项 +用户名
选项
-m 密码可以更改的最小天数,为0代表任何时间都可以修改密码
-M 密码保持有效的最大天数
-w 用户密码到期前,发送告警信息的天数
-E 账号到期的日期,超过后账号不可用
-I(大写i) 停滞期,假设密码已经过期指定的天数,账号将不可以用
-l 显示当前对用户的密码,账号有效期的设置,由非特权用户确定账户或者密码过期时间

例:chage -d 0 555 用户555需要立即修改密码
image.png
例:chage -d 2024-06-21 555 用户555最后一次修改账户密码的时间为2024年6月21日
image.png
例:chage -m 30 555 用户555最小修改密码的最小时间是30天
image.png
例:chage -M 90 555 用户555修改密码最大时间是90天
image.png
例:chage -I 10 555 用户555的账号密码失效10天后,账户555不可以使用
image.png
例:chage -E 2024-06-22 555 用户555将在2024年6月21日失效,不能登录
image.png
例:chage -l 555 显示用户555的密码账号有效期设置
image.png

添加用户账号

useradd
格式
useradd +选项 +用户名
选项
-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式
-g:指定用户的基本组名(或使用 GID 号)
-G:指定用户的附加组名(或使用 GID 号)
-M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录
-s:指定用户的登录Shell

例:useradd 999 添加用户999
image.png
例:useradd -d /admin -g wheel -G root admin 将用户admin加入root的附加组
image.png
image.png
image.png
例:useradd -e 2024-06-20 -s /sbin/nologin yyy 创建一个名为yyy的程序用户使它无法登录
image.png
image.png
例:useradd -u 11111 112 设置用户112的uid
image.png
例:useradd -M lisi 创建一个属组lisi
image.png

设置/更改用户口令

passwd
格式
passwd +选项 +用户名
选项
-d 清空指定用户的密码,仅使用用户名即可登录系统
-l 锁定用户账户
-u 解锁用户账户
-S 查看用户账户的状态(是否被锁定)
例:passwd -d 113 清除账号113的密码
image.png
例:passwd -l 113 锁定账号113的密码
image.png
例:passwd -S 113 查看账号113状态
image.png
例:passwd -u 113 解锁账号113
image.png

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python学习笔记15:进阶篇(四)文件的读写。

文件操作 学习编程操作中,我觉得文件操作是必不可少的一部分。不管是读书的时候学习的c,c,工作的前学的java,现在学的Python,没学过的php和go,都有文件操作的模块以及库的支持,重要性毫无疑问。…

HCIA-速查-ENSP模拟器2步清空配置

需求:清空模拟器配置 清空当前图中配置 步骤1:reset saved-configuration 后输入y确认 步骤2:reboot后输入n否认再输入y确认 验证已经清空配置

idea http client GET 请求 报503错误

idea 提供的 http client 插件,在 GET 请求时总是 报503 的错误,但请求URL可以在浏览器中正常访问。 GET localhost:8080/student Response file saved. > 2024-06-20T160906.503.html 有一种原因跟本地配置的代理有关,如下图。如果在…

基于JSP的高校信息资源共享平台

开头语: 你好呀,我是计算机学长猫哥!如果你对高校信息资源共享平台感兴趣或者有相关需求,可以通过文末的联系方式找到我。 开发语言:Java 数据库:MySQL 技术:JSP技术 工具:IDEA…

Java23种设计模式(五)

1、MVC 模式 MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。 Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。…

前缀和+双指针,CF 131F - Present to Mom

一、题目 1、题目描述 2、输入输出 2.1输入 2.2输出 3、原题链接 131F - Present to Mom 二、解题报告 1、思路分析 很经典的一种把列看作cell 来进行双指针/递推的题型 我们考虑,可以预处理出原矩阵中的所有star 然后我们去枚举矩形的上下边界,把…

python:faces swap

# encoding: utf-8 # 版权所有 2024 涂聚文有限公司 # 许可信息查看:pip install boost # 描述:pip install boost # pip install dlib # pip install cmake3.25.2 # pip install dlib19.24.2 如果安装不上,按此法 # Author : geovindu,G…

【Go】用 DBeaver、db browser 和 SqlCipher 读取 SqlCipher 数据库

本文档主要描述如何用 DBeaver、db browser 和 SqlCipher 上打开加密的 SQLite3 数据库(用 SqlCipher v3 加密) 软件版本 DBeaver:v24.1.0 SQLite-driver: sqlite-jdbc-3.46.0.0.jar dbbrowser-for-sqlite-cipher:3.12.2 SqlCipher cli(ubuntun)&am…

基于Windows API DialogBox的对话框

在C中,DialogBox函数是Windows API的一部分,它用于在Win32应用程序中创建并显示一个模态对话框。DialogBox函数是USER32.DLL中的一个导出函数,因此你需要在你的C Win32应用程序中链接到这个库。 #include "framework.h" #include …

反转链表(java精简版)

反转一个单向链表。 public class ReversingLinkedList {static class Node {int val;Node next;public Node(int val) {this.val val;}public boolean hasNext() {return next ! null;}}public static void main(String[] args) {//构造Node head null;Node shift null;for…

大模型日报|8 篇必读的大模型论文

大家好,今日必读的大模型论文来啦! 1.Pandora:自回归-扩散混合通用世界模型 世界模型模拟世界在不同行动下的未来状态,它们有助于创建交互式内容,并为有依据的长远推理提供基础。然而,目前的基础模型并不…

算法训练与程序竞赛题目集合(L2)

目录 L2-001 城市间紧急救援 输入格式: 输出格式: 输入样例: 输出样例: L2-002 链表去重 输入格式: 输出格式: 输入样例: 输出样例: L2-003 月饼 输入格式: 输出格式: 输入样例: …

【云岚到家】-day03-2-门户缓存实现实战

【云岚到家】-day03-2-门户缓存实现实战 5 缓存实现5.2 定时任务更新缓存5.2.1 分布式调度平台5.2.1.1 jdk提供的Timer定时器5.2.1.2 使用第三方Quartz方式5.2.1.3 使用分布式调度平台XXL-JOB 5.2.2 XXL-JOB5.2.2.1 介绍5.2.2.2 部署调度中心5.2.2.3 执行器 5.2.2 定义缓存更新…

如何在华为 Ascend 设备上运行模型

模型转换:使用华为的模型转换工具 ATC ATC 在 ascend-cann-toolkit 包里 环境 Docker Image: ascendhub.huawei.com/public-ascendhub/ascend-pytorch:24.0.RC1-A2-2.1.0-ubuntu20.04 镜像版本CANN版本Pytorch版本变更项24.0.RC18.0.RC12.1.0基础镜像变更为 ubuntu20.04。p…

vue小总结

知识总结 【 1 】es6 语法总结 # let 定义变量 # const定义常量 ------块级作用域---- # var 以后尽量少用,函数作用域var 在 JavaScript 中是函数作用域或全局作用域。而 let 和 const 是块级作用域。 // 使用 var 声明全局变量 var globalVar "Im a globa…

【Python】一文向您详细解析内置装饰器 @lru_cache

【Python】一文向您详细解析内置装饰器 lru_cache 下滑即可查看博客内容 🌈 欢迎莅临我的个人主页 👈这里是我静心耕耘深度学习领域、真诚分享知识与智慧的小天地!🎇 🎓 博主简介:985高校的普通本硕&a…

线程池的简介

定义 线程池就是使用多线程的方式,将任务添加到队列中任务都是runnable或者callable的实现类 优点 线程和任务分离,任务可以复用线程池统一管理线程,线程可以复用避免因为开启和销毁线程造成的资源浪费 官方线程池的参数分析 深度理解 线程池…

Vim基础操作:常用命令、安装插件、在VS Code中使用Vim及解决Vim编辑键盘错乱

Vim模式 普通模式(Normal Mode): 这是 Vim 的默认模式,用于执行文本编辑命令,如复制、粘贴、删除等。在此模式下,你可以使用各种 Vim 命令来操作文本。插入模式(Insert Mode)&#…

Maven:一个下载jar依赖失败的问题解决方案

内部的一个jar包已经上传到了私服上,在私服管理端也能看到该jar包的完整信息,但是springboot项目引入该jar包发现死活下载不下来,报错如图: 从该错误信息中可以看到,找不到服务名是xxl-job这个的,我们要找的…

vue3delete请求报403forbidden,前后端解决方式,cookie无效问题

在做开发时,前期已经在Controller类加上CrossOrigin(origins "*"),发送get和post请求都没问题,但遇到delete请求时,又报出跨域问题 一.前端添加proxy代理服务器(未能解决) 在vue.config.js中使…