当前位置: 首页 > news >正文

【Linux篇】面试——用户和组、文件类型、权限、进程

目录

一、权限管理

1. 用户和组

(1)相关概念

(2)用户命令

① useradd(添加新的用户账号)

② userdel(删除帐号)

③ usermod(修改帐号)

④ passwd(用户密码的管理)

(3)组命令

① groupadd(增加一个新的用户组)

② groupdel(删除一个已有的用户组)

③ groupmod(修改用户组的属性)

(4)与用户账号有关的系统文件

① /etc/passwd 文件

② /etc/shadow 文件

③ /etc/group 文件

2. 文件基本属性

(1)文件类型

(2)文件权限

(3)chgrp 更改文件属组

(4)chown 更改文件属性

① 更改文件所有者(owner)、更改文件所属组

② 更改文件 9 个属性

二、进程相关

1. ps(显示进程状态)

(1)显示系统中全部的进程信息

(2)查找当前系统运行状态中指定的进程信息

(3)当前系统运行状态中指定用户的进程信息

2. top(实时显示系统运行状态)

3. kill(杀死进程)

(1)结束某个指定的进程(数字为对应的 PID 值)

(2)强制结束某个指定的进程(数字为对应的 PID 值)

4. netstat(显示网络状态)

(1)显示系统网络状态中的所有连接信息

(2)显示系统网络状态中的 UDP 连接信息

(3)显示系统网络状态中的 UDP 连接端口号使用信息

(4)显示网卡当前状态信息

(5)显示网络路由表状态信息

(6)找到某个服务所对应的连接信息


一、权限管理

1. 用户和组

(1)相关概念

        用户 是 Linux 系统 中的一个 账户,代表 一个操作者 或 一个 服务进程。每个用户 都有一个 唯一的 用户名 和 身份标识(UID)。用户 登录系统时,需要 提供 有效的 用户名 和 密码,以 验证其身份。用户根据其身份 可以访问 特定的 文件和资源

  • 文件和目录的 权限设置 决定了 哪些用户 可以读取、写入或执行它们。每个用户 都有 自己的 家目录(如 /home/username),用于 存储 个人文件和配置。这提供了一定程度的隐私和安全隔离。

        组 是一组用户的 集合,它 允许 对多个用户 应用相同的 权限设置通过 将用户 添加到 组中,管理员 可以 轻松地 为组内的 所有用户 设置相同的 文件 和 目录权限。

  • 组 可以用来 控制 对共享资源的 访问,如打印机、文件服务器等。组成员 可以 共享 相同的 文件和目录,方便协作 和 数据共享。
  • 组 简化了 权限分配 和 管理的 过程。例如,通过 更改 组权限,可以 一次性 更新 组内 所有用户的权限,而不需要 单独 更改每个用户
  • 组策略 可以 限制 对敏感数据的 访问,提高 系统的 安全性。通过 将用户 分配到 不同的组,可以更好地 控制 对敏感资源的 访问。

(2)用户命令

① useradd(添加新的用户账号)
useradd 选项 用户名-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
② userdel(删除帐号)
userdel 选项 用户名-r 把用户的主目录一起删除
③ usermod(修改帐号)
usermod 选项 用户名-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
④ passwd(用户密码的管理)
passwd 选项 用户名-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。默认用户名,则修改当前用户的口令。

(3)组命令

① groupadd(增加一个新的用户组)
groupadd 选项 用户组-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
② groupdel(删除一个已有的用户组)
groupdel 用户组
③ groupmod(修改用户组的属性)
groupmod 选项 用户组-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字

(4)与用户账号有关的系统文件

① /etc/passwd 文件

        Linux 系统中的 每个用户 都在 /etc/passwd 文件中 有一个 对应的 记录行,它 记录了 这个用户的 一些 基本属性

用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
  • 用户标识号:系统内部 用它来 标识用户。通常 用户 标识号的 取值范围是 0~65 535。0 是 超级用户 root 的标识号,1~99 由 系统保留,作为 管理账号,普通用户 的 标识号从 100 开始。在 Linux 系统中,这个 界限是 500。
  • 组标识号:记录的是 用户 所属的 用户组。它对应着 /etc/group 文件中的 一条记录。
  • 主目录:用户的 起始 工作目录。它是 用户在 登录到 系统之后 所处的 目录。在 大多数系统中,各 用户的 主目录都 被组织在 同一个 特定的 目录下,而 用户 主目录的 名称 就是 该用户的 登录名。各 用户对 自己的 主目录有读、写、执行(搜索)权限,其他用户 对此目录的 访问 权限则 根据 具体情 况设置。
  • Shell:用户登录后,要 启动一个进程,负责 将用户的 操作传给 内核,这个 进程是 用户 登录到 系统后 运行的命令 解释器 或 某个特定的 程序。
② /etc/shadow 文件

        对 安全性 要求 较高的 Linux 系统都 把加密后的 密码字 分离出来,单独 存放在 一个文件中,这个文件是 /etc/shadow 文件。 有 超级用户 才拥有 该文件 读权限,这就 保证了 用户密码 的安全性。

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
  • 登录名:是 与 /etc/passwd 文件中的 登录名 相一致的 用户账号。
  • 密码字段:存放的是 加密后的 用户 口令字,长度为 13 个 字符。如果 为空,则 对应 用户 没有口令,登录时 不需要 口令;如果 含有 不属于 集合 { ./0-9A-Za-z } 中的 字符,则 对应的 用户 不能登录。
  • 最后一次修改时间:表示的是 从某个 时刻起,到 用户最后 一次 修改口令时的 天数。时间 起点 对 不同的 系统可能 不一样。
  • 最小时间间隔:指的是 两次 修改口令 之间 所需的 最小天数。
  • 最大时间间隔:指的 是口令 保持有效的 最大天数。
  • 警告时间:字段 表示的是 从系统 开始 警告用户到 用户密码 正式失效之间的 天数。
  • 不活动时间:表示的是 用户 没有登录活动 但账号 仍能保持 有效的 最大天数。
  • 失效时间:字段 给出的是一个 绝对的 天数,如果 使用了 这个字段,那么 就给出 相应账号的 生存期。期满后,该账号就不再是一个 合法的账号,也就不能 再用来登录了。
③ /etc/group 文件

        将 用户 分组是 Linux 系统中 对用户 进行 管理及控制 访问权限的 一种手段每个 用户 都属于 某个 用户组;一个 组中 可以有 多个用户,一个 用户 也可以 属于 不同的组。当一个 用户同时是 多个组中的 成员时,在 /etc/passwd 文件中 记录的是 用户所属的主组,也就是 登录时 所属的 默认组,而其他组 称为 附加组。

组名:口令:组标识号:组内用户列表
  • 组名:是 用户组的 名称,由 字母或数字 构成。与 /etc/passwd 中的 登录名一样,组名 不应 重复。
  • 口令:字段 存放的是 用户组 加密后的 口令字。一般 Linux 系统的 用户组 都没有口令,即 这个字段一般为空,或者是*。
  • 组标识号:与 用户标识号 类似,也是一个 整数,被 系统内部 用来 标识组。
  • 组内用户列表:是 属于这个组的 所有用户的 列表,不同 用户之间用 逗号(,)分隔。这个 用户组 可能是 用户的主组,也可能是 附加组。

2. 文件基本属性

        在 Linux 中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组。

(1)文件类型

  • d :目录文件。
  • - :文件。
  • l :表示为 链接文档(link file)。
  • b :表示为 装置文件里面的可供储存的接口设备(可随机存取装置)。
  • c :表示为 装置文件里面的 串行端口设备,例如键盘、鼠标(一次性读取装置)。

(2)文件权限

        接下来的 字符中,以 三个 为一组,且均为 rwx 的三个参数的 组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 

(3)chgrp 更改文件属组

chgrp [-R] 属组名 文件名-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上 -R 的参数,那么该目录下的所有文件的属组都会更改。

(4)chown 更改文件属性

① 更改文件所有者(owner)、更改文件所属组
chown [–R] 所有者 文件名
chown [-R] 所有者:属组名 文件名
② 更改文件 9 个属性

        Linux 文件属性有 两种设置方法,一种是数字,一种是符号。Linux 文件的 基本 权限 就有 九个,分别是 owner/group/others(拥有者/组/其他)三种身份 各有 自己的 read/write/execute 权限

// 数字修改
chmod [-R] xyz 文件或目录xyz : 数字类型的权限属性,为 rwx 属性数值的相加。
-R : 进行递归(recursive)的持续变更,以及连同次目录下的所有文件都会变更

二、进程相关

1. ps(显示进程状态)

(1)显示系统中全部的进程信息

ps aux

(2)查找当前系统运行状态中指定的进程信息

ps -ef | grep ssh
// 以ssh为例

(3)当前系统运行状态中指定用户的进程信息

2. top(实时显示系统运行状态)

top -d 5    // 每隔5秒刷新一次信息
top -n 5    // 设定总显示次数为5次,随后自动退出

3. kill(杀死进程)

(1)结束某个指定的进程(数字为对应的 PID 值)

kill 9999

(2)强制结束某个指定的进程(数字为对应的 PID 值)

kilL -9 9999

4. netstat(显示网络状态)

(1)显示系统网络状态中的所有连接信息

netstat -a

(2)显示系统网络状态中的 UDP 连接信息

netstat -nu

(3)显示系统网络状态中的 UDP 连接端口号使用信息

netstat -apu

(4)显示网卡当前状态信息

netstat -i

(5)显示网络路由表状态信息

netstat -r

(6)找到某个服务所对应的连接信息

netstat -ap | grep ssh

相关文章:

【Linux篇】面试——用户和组、文件类型、权限、进程

目录 一、权限管理 1. 用户和组 (1)相关概念 (2)用户命令 ① useradd(添加新的用户账号) ② userdel(删除帐号) ③ usermod(修改帐号) ④ passwd&…...

PET-文件包含

include发生错误报warning,继续执行。require发生错误直接error,不继续执行 无视扩展名,只要能解析,就能当可执行文件执行,哪怕文件后缀或没后缀 1 条件竞争 pass17 只需要知道tmp的路径。把xieshell.jpg上传&…...

实现uniapp-微信小程序 搜索框+上拉加载+下拉刷新

pages.json 中的配置 { "path": "pages/message", "style": { "navigationBarTitleText": "消息", "enablePullDownRefresh": true, "onReachBottomDistance": 50 } }, <template><view class…...

PostgreSQL 修改字段类型但是存在视图依赖

其实视图的存在与否在数据库界一直是一个话题。用好视图可以简化程序的很多代码&#xff0c;用不好视图不仅会给维护带来很多的不便&#xff0c;也会造成很大的性能问题。下面我从维护方面给出案例&#xff0c;以及当存在这种问题的时候&#xff0c;如何去解决这个问题。 假设…...

基于.NET 9实现实时进度条功能:前后端完整示例教程

要在基于.NET 9的应用中实现进度条功能&#xff0c;我们可以通过HttpContext.Response来发送实时的进度更新到前端。以下是一个简单的示例&#xff0c;展示了如何在ASP.NET Core应用中实现这一功能。 但是&#xff0c;我在.net framework4.7.2框架下&#xff0c;实际不了HttpC…...

力扣 LeetCode 19. 删除链表的倒数第N个结点(Day2:链表)

解题思路&#xff1a; 快慢指针 class Solution {public ListNode removeNthFromEnd(ListNode head, int n) {ListNode dummy new ListNode(-1);dummy.next head;ListNode fast dummy;ListNode slow dummy;for (int i 0; i < n; i) {fast fast.next;}while (fast.ne…...

音频格式转换

一、场景 项目需求需要App实现声纹识别功能&#xff0c;调用科大讯飞接口&#xff1a; 声纹识别 API 文档 | 讯飞开放平台文档中心 其接口要求音频文件格式为mp3 二、问题产生 在安卓端根据官方文档说明&#xff0c;系统并不支持直接录制mp3格式音频&#xff0c;支持格式如…...

npm list @types/node 命令用于列出当前项目中 @types/node 包及其依赖关系

文章目录 作用示例常用选项示例命令注意事项 1、实战举例**解决方法**1. **锁定唯一的 types/node 版本**2. **清理依赖并重新安装**3. **设置 tsconfig.json 的 types**4. **验证 Promise 类型支持** **总结** npm list types/node 命令用于列出当前项目中 types/node 包及其…...

【Spring】Spring框架中有有哪些常见的设计模式

Spring 框架中广泛运用了多种设计模式&#xff0c;今天让我们来学习一下 1. 单例模式&#xff08;Singleton Pattern&#xff09; 用途&#xff1a;在Spring框架中&#xff0c;Bean默认是单例的&#xff0c;也就是说在容器中每种类型的Bean只有一个实例。这个设计可以节省资源…...

提升百度排名的有效策略与技巧解析

内容概要 提升百度排名对于网站的成功至关重要。首先&#xff0c;了解百度排名的基本原则&#xff0c;掌握搜索引擎是如何评估网页质量的&#xff0c;是优化过程中不可或缺的一部分。搜索引擎越来越倾向于将用户需求放在首位&#xff0c;因此提供高质量的内容和良好的用户体验…...

【Linux】Linux下查看cpu信息指令(top/mpstat/iostat/pidstat)说明

top命令 top(1) - Linux manual page (man7.org) top查看总的CPU利用率 us: 用户空间消耗的CPU资源占比&#xff0c;进程在用户态执行函数调用&#xff0c;编解码消耗的都是us sy: 内核空间消耗的CPU资源占比&#xff0c;进程调用系统调用达到内核后会增加sy的消耗 ni&…...

HDLBIts习题(3):使用冒号表示位宽时,冒号两端必须是常量

&#xff08;1&#xff09;易错习题1&#xff1a;Circuits - Combinational Logic - Multiplexers - 256-to-1 4bit multiplexer 使用冒号表示位宽时&#xff0c;冒号两端必须是常量&#xff0c;因此如果使用变量&#xff0c;可以使用位拼接的方法。 &#xff08;2&#xff09;…...

C++20协程详解

文章目录 什么是协程为什么需要协程什么时候使用协程协程的类别C20的协程协程的使用关键字co_wait框架一阶段完成数据交换co_yieldco_return 什么是协程 我们在学习编程的过程中&#xff0c;逐渐从单线程&#xff0c;到多线程&#xff0c;再到异步编程和并发处理 这些异步与并…...

Chromium 中chrome.system.display扩展接口定义c++

一、chrome.system.display 使用 system.display API 查询展示元数据。 权限 system.display 类型 ActiveState Chrome 117 及更高版本 用于指示系统是否检测到和使用显示屏的枚举。如果系统未检测到显示屏&#xff08;可能断开连接&#xff0c;或因睡眠模式等原因而被视…...

容器docker的ulimit

Ulimit 在linux里ulimit命令可以对shell生成的进程的资源进行限制。 常用的ulimit限制 打开文件句柄数core文件大小设置进程能够消耗的虚拟内存设置用户能够打开的进程数目 不太常用的ulimit限制 设置数据段的最大值.单位:kbytes 设置创建文件的最大值.单位:blocks 设置在…...

一、HTML

一、基础概念 1、浏览器相关知识 这五个浏览器市场份额都非常大&#xff0c;且都有自己的内核。 什么是内核&#xff1a; 内核是浏览器的核心&#xff0c;用于处理浏览器所得到的各种资源。 例如&#xff0c;服务器发送图片、视频、音频的资源&#xff0c;浏览…...

使用Geekbench6软件对真实和虚拟的苹果桌面系统(macOS)进行打分比较

前言 感觉VMWare安装的MacOS使用起来非常的慢&#xff0c;所以特意用打分软件GeekBench进行了评测。 一、Geekbench的安装 可以从官网直接进行下载&#xff0c; 链接是&#xff1a; 二、Geekbench的直接使用 2.1、真机的信息 2.2、虚拟机的信息 三、打分的比较 3.1、真机…...

lua入门教程:随机数

在Lua中&#xff0c;生成随机数是通过math库中的math.random函数来实现的。这个函数可以生成一个[0, 1)区间内的随机浮点数。如果你需要生成其他范围内的随机数&#xff0c;或者需要整数类型的随机数&#xff0c;可以通过一些简单的数学运算来调整math.random的输出。 以下是如…...

华为大咖说 | 浅谈智能运维技术

本文分享自华为云社区&#xff1a;华为大咖说 | 浅谈智能运维技术-云社区-华为云 本文作者&#xff1a;李文轩 &#xff08; 华为智能运维专家 &#xff09; 全文约2695字&#xff0c;阅读约需8分钟 在大数据、人工智能等新兴技术的加持下&#xff0c;智能运维&#xff08;AI…...

creo toolkit二次开发学习之获取任意选择模型作为元件,并进行获取约束等

获取任意选择模型作为元件进行操作前&#xff0c;先了解组件路径和程序集的构成&#xff1a;creo toolkit二次开发学习之程序集&#xff08;ProAsmcomp&#xff09;和装配体组件路径对象&#xff08;ProAsmcomppath&#xff09;-CSDN博客 代码如下 ProError test1() {ProError…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建&#xff08;全平台详解&#xff09; 在开始使用 React Native 开发移动应用之前&#xff0c;正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南&#xff0c;涵盖 macOS 和 Windows 平台的配置步骤&#xff0c;如何在 Android 和 iOS…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

大数据学习(132)-HIve数据分析

​​​​&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4…...

使用Spring AI和MCP协议构建图片搜索服务

目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式&#xff08;本地调用&#xff09; SSE模式&#xff08;远程调用&#xff09; 4. 注册工具提…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

代码规范和架构【立芯理论一】(2025.06.08)

1、代码规范的目标 代码简洁精炼、美观&#xff0c;可持续性好高效率高复用&#xff0c;可移植性好高内聚&#xff0c;低耦合没有冗余规范性&#xff0c;代码有规可循&#xff0c;可以看出自己当时的思考过程特殊排版&#xff0c;特殊语法&#xff0c;特殊指令&#xff0c;必须…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...