【Linux】Linux中用户信息相关的配置文件:/etc/passwd、/etc/group、/etc/shadow、/etc/sudoers

1 用户信息

1.1 /etc/passwd

linux上用户的信息保存在/etc/passwd中,看文件名会以为这里保存的是用户密码,但实际上用户密码保存在另一个文件中。

/etc/passwd文件中每行保存一个用户的信息,例如:

root:x:0:0:root:/root:/bin/bash

一个用户的信息由7个字段构成,字段之间以分号分割,每个字段的含义依次是:

  • 用户名:root
  • 用户密码:x
  • 用户ID:0
  • 用户组ID:0
  • 描述信息:root
  • 家目录:/root
  • 默认shell:/bin/bash

这里的用户密码并不是真正的密码,而只是个占位符。用户ID和用户组ID表明当前用户在某个用户组中。默认shell是该用户登录当前系统的shell。

1.2 /etc/shadow

真正的用户密码保存在/etc/shadow中,该文件同样是以分号分割保存每个用户的密码信息,例如:

feng:$1$oVHGoMfI$CNgwZ9QtQrwLRbFad.yGN1:20047:0:99999:7:::
  • 用户名:此处就是feng
  • 加密密码:保存的是单向不可逆的密码,此处就是 1 1 1oVHGoMfI$CNgwZ9QtQrwLRbFad.yGN1
  • 最后一次修改密码的时间:此处就是20047,含义是从1970年1月1日到最后一次修改密码的天数,可以用命令date -d "1970-01-01 20047 days"换算为实际的日期
  • 最小修改时间间隔:表示从变更密码的日期算起,多少天内无法再次修改密码,此处是0,表示没有限制
  • 密码有效期:表示密码被修改后多少天之内必须再次修改,默认值为99999,也就是273年
  • 密码需要变更前的警告天数:密码在快过期时,系统会给出警告,默认值为7,表示密码在过期前7天会给出警告
  • 密码过期后的宽限天数:密码过期后可以留一定的宽限天数,如果再过了宽限天数,系统将不再允许此账号登录
  • 账号失效时间:表示从1970年1月1日过多少天后账号失效
  • 保留字段:留空

所以,/etc/shadow文件除了保存密码,其次就是密码相关的一些策略。

对于密码,开头三个字符表示使用的散列算法:

  • 1 1 1:MD5-based
  • 2 2 2:Blowfish
  • 5 5 5:SHA-256
  • 6 6 6:SHA-512

另外,当密码字段是双感叹号时表示未设置。

密码相关的一些策略可以使用passwd命令完成。

passwd命令常用的选项:

  • -S:输出某个用户的状态,其实就是从/etc/shadow读取某个用户的信息,然后将部分字段翻译为可读的内容
  • -n:密码的最短生命周期,其实就是设置最小修改时间间隔
  • -x:密码的最长生命周期,其实就是设置密码有效期
  • -w:密码失效前发送警告的天数,其实就是设置密码需要变更前的警告天数
  • -i:设置密码过期后的宽限天数

2 用户组信息

2.1 /etc/group

用户组信息保存在/etc/group中,该文件的字段较少:

  • 用户组名称
  • 密码,与/etc/passwd一样,是个占位符
  • 用户组ID
  • 该组中除了默认用户以外的其他用户
2.2 /etc/gshadow

同样的,与/etc/shadow一样,/etc/gshadow保存的是用户组的密码:

  • 用户组名称
  • 组密码,如果为!表示没有设置组密码
  • 组管理员用户名,较少使用
  • 该组中除了默认用户以外的其他用户

3 用户sudo信息

sudo是Linux中允许非root用户运行需要超级用户权限的命令的一种机制,而sudo的配置文件记录的就是允许非root用户执行什么操作。

Linux中sudo的配置文件分为两个部分:一个是全局配置文件/etc/sudoers,另一个是配置目录/etc/sudoers.d/。作为管理的角度来说,通常建议直接是在/etc/sudoers.d/目录下新增配置文件,然后开启/etc/sudoers配置文件中的加载/etc/sudoers.d的配置。

3.1 用户sudo信息的修改

为了安全,/etc/sudoers配置文件的权限是440,也就是说,只允许root用户和root用户组的用户查看,难道说,该文件不允许修改?

从权限的角度来说,确实是这样,但是,由于root用户是超级用户,拥有对所有文件的完全访问权限,换句话说,即便文件权限是000,root用户依然可以查看和修改。

/etc/sudoers文件的错误修改可能造成系统崩溃,建议使用visudo命令修改/etc/sudoers文件。

3.2 /etc/sudoers配置文件格式

/etc/sudoers配置文件主要包含三个部分:

  • 别名配置:定义一些别名,用于简化后续的配置,别名配置包含几种类型,Host_Alias(主机别名)、User_Alias(用户别名)、Cmnd_Alias(命令别名)
  • 默认配置:用Defaults关键字定义的一些默认配置,例如,Defaults secure_path=/bin表示sudo命令搜索可执行文件的路径
  • 规则配置:定义哪些用户可以执行哪些命令。

因此,一般只需要配置规则就行。

通常,规则配置部分会包含默认两条规则:

  • root ALL=(ALL) ALL:root用户可以执行所有命令
  • %wheel ALL=(ALL) ALL:wheel用户组可以执行所有命令

wheel前面%表示wheel是用户组名。

规则配置的格式为user host = (runas) command,包含4个部分:

  • user:用户名、用户组名或者用户别名
  • host:主机名、主机别名或者ALL
  • runas:ALL、用户别名或者具体的用户名
  • command:命令、命令别名或者ALL

所以,user host = (runas) command的含义是:允许用户(user)在主机(host)上以用户(runas)的名义执行命令(command)。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Astherus 联手 PancakeSwap 推出 asCAKE,CAKE 最大化收益的最优解?

Astherus 是本轮市场周期中最具创新性的 DeFi 协议之一,其通过推出 AstherusEx 以及 AstherusEarn 两个产品,正在基于真实收益启动 DeFi 市场的增长,并成为加密投资者捕获收益的最佳协议。PancakeSwap 是 BNB Chain 上最大的 DEX,…

创意无限!利用Cpolar和Flux.1实现远程AI图像生成功能

文章目录 前言1. 本地部署ComfyUI2. 下载 Flux.1 模型3. 下载CLIP模型4. 下载 VAE 模型5. 演示文生图6. 公网使用 Flux.1 大模型6.1 创建远程连接公网地址7. 固定远程访问公网地址前言 Flux.1 是一款免费开源的图像生成模型,通过ComfyUI,你可以轻松调用这款强大的工具。Flux…

谷歌浏览器 Chrome 提示:此扩展程序可能很快将不再受支持

问题现象 在Chrome 高版本上的扩展管理页面(地址栏输入chrome://extensions/或者从界面进入): , 可以查看到扩展的情况。 问题现象大致如图: 问题原因 出现此问题的根本原因在于:谷歌浏览器本身的扩展机制发生了…

关于开机挺快的,但是登录界面输入密码后,卡了许久许久

首先说我的结论:清理一下temp缓存就ok了 这样之后后打开一个文件夹,把里面可以删的东西全删了就行,但是我的太多了,出现了未响应的情况。所以这里贴上一个用cmd删的方法。 rmdir 删除整个目录 好比说我要删除 222 这个目录下的所…

JVM实战—2.JVM内存设置与对象分配流转

大纲 1.JVM内存划分的原理细节 2.对象在JVM内存中如何分配如何流转 3.部署线上系统时如何设置JVM内存大小 4.如何设置JVM堆内存大小 5.如何设置JVM栈内存与永久代大小 6.问题汇总 1.JVM内存划分的原理细节 (1)背景引入 (2)大部分对象的存活周期都是极短的 (3)少数对象…

5G -- 5G网络架构

5G组网场景 从4G到5G的网络演进: 1、UE -> 4G基站 -> 4G核心网 * 部署初中期,利用存量网络,引入5G基站,4G与5G基站并存 2、UE -> (4G基站、5G基站) -> 4G核心网 * 部署中后期,引入5G核心网&am…

8086汇编(16位汇编)学习笔记05.asm基础语法和串操作

8086汇编(16位汇编)学习笔记05.asm基础语法和串操作-C/C基础-断点社区-专业的老牌游戏安全技术交流社区 - BpSend.net asm基础语法 1. 环境配置 xp环境配置 1.拷贝masm615到指定目录 2.将masm615目录添加进环境变量 3.在cmd中输入ml,可以识别即配置成功 dosbox…

C/C++ 数据结构与算法【树和二叉树】 树和二叉树,二叉树先中后序遍历详细解析【日常学习,考研必备】带图+详细代码

一、树介绍 1)树的定义 树 (Tree) 是n(n≥0) 个结点的有限集。 若n 0,称为空树; 若n > 0,则它满足如下两个条件: (1)有且仅有一个特定的称为(Root)的结点; (2)其余结点可分为m(m≥0)个…

MVC架构模式

分析AccountTransferServlet类都负责了什么? 数据接收核心的业务处理数据库表中数据的crud操作负责了页面的数据展示做了很多 在不使用MVC架构模式的前提下,完成银行账户转账的缺点: 代码的复用性太差。因为没有进行职能分工,没有…

打破视障壁垒,百度文心快码无障碍版本助力视障IT从业者就业无“碍”

有AI无碍 钟科:被黑暗卡住的开发梦 提起视障群体的就业,绝大部分人可能只能想到盲人按摩。但你知道吗?视障人士也能写代码。 钟科,一个曾经“被黑暗困住”的人,他的世界,因为一场突如其来的疾病&#xff0c…

【RAG实战】语言模型基础

语言模型赋予了计算机理解和生成人类语言的能力。它结合了统计学原理和深度神经网络技术,通过对大量的样本数据进行复杂的概率分布分析来学习语言结构的内在模式和相关性。具体地,语言模型可根据上下文中已出现的词序列,使用概率推断来预测接…

48页PPT|2024智慧仓储解决方案解读

本文概述了智慧物流仓储建设方案的行业洞察、业务蓝图及建设方案。首先,从政策层面分析了2012年至2020年间国家发布的促进仓储业、物流业转型升级的政策,这些政策强调了自动化、标准化、信息化水平的提升,以及智能化立体仓库的建设&#xff0…

Matlab环形柱状图

数据准备: 名称 数值 Aa 21 Bb 23 Cc 35 Dd 47 保存为Excel文件后: % Load data from Excel file filename data.xlsx; % Ensure the file is in the current folder or provide full path dataTable readtable(filena…

flask后端开发(3):html模板渲染

目录 渲染模板html模板获取路由参数 gitcode地址: https://gitcode.com/qq_43920838/flask_project.git 渲染模板 这样就能够通过html文件来渲染前端,而不是通过return了 html模板获取路由参数

15 break和continue

while True: content input("请输入你要喷的内容") print("发送给下路",content) #上述的程序如果没有外力干扰:程序会一直进行输入下去 #break:就能让当前这个循环立即进行停止 while True: content input("请输入…

Python9-作业2

记录python学习,直到学会基本的爬虫,使用python搭建接口自动化测试就算学会了,在进阶webui自动化,app自动化 python基础8-灵活运用顺序、选择、循环结构 作业2九九乘法表三种方式打印九九乘法表使用两个嵌套循环使用列表推导式和…

微信小程序 不同角色进入不同页面、呈现不同底部导航栏

遇到这个需求之前一直使用的小程序默认底部导航栏,且小程序默认入口页面为pages/index/index,要使不同角色呈现不同底部导航栏,必须要在不同页面引用不同的自定义导航栏。本篇将结合分包(subPackages)展开以下三步叙述…

表达式语句、复合语句和空语句

欢迎拜访:雾里看山-CSDN博客 本篇主题:表达式语句、复合语句和空语句 发布时间:2024.12.26 隶属专栏:C语言 目录 1. 表达式语句定义作用常见类型赋值语句函数调用语句 2. 复合语句定义作用变量作用域 3. 空语句定义作用 1. 表达式…

Linux arm 编译安装glibc-2.29

重要的话说三遍: !!!!!不要轻易自己去安装glibc!!!!! !!!!!不要轻易自己去安装glibc&a…

20241225在ubuntu22.04.5下使用smartmontools命令查看ssd的寿命

20241225在ubuntu22.04.5下使用smartmontools命令查看ssd的寿命 2024/12/25 15:10 rootrootrootroot-ThinkBook-16-G5-IRH:~$ sudo apt install smartmontools rootrootrootroot-ThinkBook-16-G5-IRH:~$ sudo fdisk -l Disk /dev/nvme0n1: 3.73 TiB, 4096805658624 bytes, 800…