Linux总结

1 用户与用户组管理

1.1 用户与用户组

//linux用户和用户组
Linux系统是一个多用户多任务的分时操作系统
使用系统资源的用户需要账号进入系统
账号是用户在系统上的标识,系统根据该标识分配不同的权限和资源
一个账号包含用户和用户组
//用户分类
超级管理员 UID0 拥有系统一切权限 一般为root用户
系统用户(伪用户) UID 1-499  方便系统管理,用来运行系统和服务的用户
普通用户 UID500开始 可以登入系统的用户 拥有系统部分权限
//用户组分类
初始组 用户刚登陆系统所在的组,用户必须有一个且只能有一个
附加组 除了初始组外加入的其他组,可以有0或多个

1.2 Linux 系统添加用户 useradd

`命令格式 useradd [选项] 用户名`
选项i
`-u 用户ID` 指定用户id,一般指定UID要大于500,不指定系统会自动分配
`-g 初始组名` 指定用户初始组 尽量不要指定 系统会创建和新增用户名相同的组为该用户的初始组
`-G 附加组名` 指定用户所属附加组 多个时用逗号隔开
`-c 说明文字` 备注文字  文字会保存到“/etc/passwd”文件第五列
`-d 家目录`指定用户家目录
`-s shell` 指定用户登陆后使用的shell程序

vim /etc/passwd 查看添加的用户
vim /etc/shadow 查看用户密码

1.3 Linux修改用户密码 passwd

`命令格式 passwd [选项] 用户名`
选项
`-l--lock` 临时锁住密码使密码失效
`-u--unlock` 解锁
`-d--delete` 删除现有用户的密码
`-n 天数`两次密码修改时间间隔 /etc/shadow第四列
`-x 天数`密码有效期/etc/shadow第五列
`-w 天数`密码到期前的警告天数/etc/shadow第六列
`-i 天数`密码到期后的宽限天数/etc/shadow第七列
`-S--status` 显示用户密码状态
`--stdin` 从标准输入读取令牌 主要用在通过脚本批量添加用户,不需要交互的场景

`用户名` 用户名省略 默认修改当前登陆用户的密码 一般修改自己的密码直接执行passwd就可以
只有管理员才有修改用户密码权限 普通用户只能改自己的密码

1.4 Linux 修改系统用户信息 usermod

`命令格式 usermod [选项] 用户名`
选项
`-u` 修改用户ID
`-d` 修改用户家目录
`-c` 修改用户说明
`-g` 修改用户初始组
`-G` 修改用户附加组
`-s` 修改用户登入后所使用的shell程序
`-e` 修改账号失效日期 格式“YYYY-MM—DD”
`-l` 修改用户名
`-L` 锁定账号   与 `passwd -l 用户名`作用一样
`-u` 解锁账号

1.5 Linux 删除用户 userdel

`命令格式 userdel [选项] 用户名`
选项
`-r` 同时删除用户家目录和用户邮件

1.6 Linux查看用户UID和GID id

`命令格式 id [选项] 用户名`
选项
一般不使用任何选项
`-g` 仅显示该用户当前有效的用户组ID
`-G` 显示该用户所有用户组ID
`-u` 仅显示该用户ID

1.7 Linux添加用户组 groupadd

`命令格式 groupadd [选项] 组名`
选项
`-g` 指定组ID
`-r` 创建系统用户组 系统用户组的组ID小于1000 与/etc/login.defs内的 GID_MIN有关

1.8 Linux修改用户组 groupmod

`命令格式 groupmod [选项] 组名`
选项
`-g` 修改组ID
`-n` 修改组名

1.9 Linux删除用户组 groupdel

`命令格式 groupdel  组名`
注 如果用户组是某个用户的初始组 必须先删除这个用户或修改用户的GID后才能删除该用户组

1.10 显示当前登陆用户名 whoami

1.11 显示当前已登陆用户信息 w /who

这两个指令查询的信息都来源于日志文件 /etc/run/utmp

`命令格式 w [选项] 用户名`
选项
`-h 不打印头信息`
`-s 使用短输出格式`
`命令格式 who [选项] 查询文件`
选项
`-H 显示各栏位的标题信息列`
`-q 只显示登入系统的账号名称和总人数`
`-w 显示用户的信息状态栏`
`-u 显示闲置时间 用户一分钟没有进行任何动作 标志“。”号 超过24小时标志"old"`

1.12 用户身份切换 su /sudo

普通用户登陆系统,需要执行某些操作权限不够时,可以切换到有权限的用户身份去执行

su可以进行任何身份的切换,root用户切换其他用户不需要密码 其他情况切换都需要输入对应的登陆密码

`命令格式 su [选项] 用户名`
选项
`-或 -l--login` 切换身份时同时切换环境变量,如果不加该选项 用户切换后环境变量还是旧的
`-c` 只执行一次指令不切换身份

注 不加用户名默认切换root

使用su指令需要知道root密码,这样容易导致密码流出很不安全,使用sudo来切换身份只需要知道用户自己的密码就可以,不是所有用户都能使用sudo指令,前提需要管理员给用户开发sudo权限。

`命令格式 sudo [-b] [-u 新使用者账号] 要执行的命令`
选项
`-b` 将后续的命令放到背景中让系统自行运行
`-u` 后面可以接切换的用户名 若无此项代表切换身份为root
`-l` 用法 sudo -l 显示sudo可以执行哪些命令

2 权限管理

2.1 Linux权限介绍

Linux是多用户的操作系统,允许多个用户同时登陆工作,Linux权限是操作系统用来限制不同用户对资源的访问机制。

基本权限 给文件和目录的所属者(u)、所属组(g)、其他用户(o)、分配的读®、写(w)、执行(x)权限

ACL权限 可以针对单一用户或用户组设定权限

特松权限 除了读写执行权限的另一种特殊权限(s/t,SUID/SGID/SBIT)

2.2 基本权限

2.2.1 权限位介绍(11位)

11位权限位的含义图 例 -rw-r–r–.

在这里插入图片描述

//第1位 代表文件类型,Linux不使用扩展名表示文件类型,使用权限位第一位表示文件类型。常见的文件类型
`-` 普通文件
`d` 目录文件(Linux中一切皆文件 目录也是文件) 
`l` 软链接文件
`b` 块设备文件 这是一种特殊设备文件,存储设备都是这种文件 如分区文件/dev/sdal
`c` 字符设备文件, 特殊设备文件,输入设备一般都是这种文件如鼠标、键盘
`p` 管道符文件 这是一种少见的特殊设备文件
 
//第2-4位  代表文件所属者权限
`r` 是读取权限
`w` 是写权限
`x` 是执行权限
//第5-7位  代表文件所属组权限 同样是rwx
//第8-10位 代表文件其他人权限 同样是rwx
//第11位 
`.` 如果是点 代表受SELinux安全上下文保护
`+` 如果是加号表示设置了ACL权限

2.2.2 权限含义解释

权限对文件的作用

读® 有读权限 可以执行cat more less head tail指令查看文件

写(w) 有写权限 可以执行vim echo等修改文件数据命令 注意对文件有写权限,是不能删除文件本身的,只能修改文件中的数据,想要删除文件 需要对文件的上级目录拥有写权限

执行(x) 有执行权限,代表文件可以允许

权限对目录的作用

读® 有读权限 可以执行ls指令查看目录下的内容 有哪些文件和子目录

写(w) 有写权限 可以修改目录下的数据,在目录中新建、删除、复制、剪切、粘贴子文件或子目录 touch rm cp mv等指令

执行(x) 目录是不能运行的。有执行权限 代表可以进入目录 可以执行cd指令进入目录

2.2.3 权限设定

chomd 命令用来修改文件或目录的权限

chomd [选项] 权限模式 文件或目录
选项
`-R` 递归设置权限
`--reference=参考文件或目录` 使用参考文件或目录的权限来设置目标文件或目录的权限

权限模式分为符合组合和八进制数组合
//符合格式 [ugoa] [[+-=][permission]] [用户身份] [[赋予方式][权限]]
用户身份
`u` 所有者
`g` 所属组
`o` 其他人
`a`  全部身份
赋予方式
`+` 加入权限
`-` 减去权限
`=` 设置权限
权限
`r``w``x` 执行
//八进制数组合格式[0-7][0-7][0-7]三位数字组成每一位数字都是权限之和 第一位是所属者 第二位所属组 第三位其他人
`r` 读权限对应的数字 `4`
`w` 写权限对应的数字 `2`
`x` 执行权限对应的数字 `1`

在这里插入图片描述

chown命令用来修改文件和目录的所有者和所属组

chown [选项] 所有者[:所属组]文件或目录
选项
`-R` 递归设置权限
`--reference=参考文件或目录`
省略[:所属组] 仅改变文件所属者

chgrp命令用来修改文件和目录的所属组

chgrp [选项] 用户组 文件或目录
选项
`-R` 递归设置权限
`--reference=参考文件或目录` 

2.2.4 默认权限与umask

1权限掩码 umask

当创建一个新文件和目录是会默认有一些权限的,新建的文件权限一般是“-rw-r–r–”,新建的目录权限一般是"drwxr-x-r-x".

文件默认最大权限 新建文件的默认最大权限是666(-rw-rw-rw-),没有执行权限,需要用户手动赋予

目录默认最大权限 新建目录的默认最大权限是777(drwxrwxrwx)

权限掩码值所表示的权限就是新建文件和目录要从默认最大权限里要排除的权限,查询掩码值有两种方式,直接执行umask以数字方式展示,可以看到‘0022“,执行umask -S 以符号展示,其中缺少的权限对应的权限值就是掩码值

2默认权限计算方式

`新建文件` 文件的默认最大权限是-rw-rw-rw-,通过计算
(-rw-rw-rw-)- (-----w--w-) = (-rw-r--r--)
 新建文件默认权限是 -rw-r--r-- 即644
`新建目录` 目录的默认最大权限是drwxrwxrwx,通过计算
(drwxrwxrwx)-(d----w--w-) = drwxr-xr-x
新建目录默认权限是 drwxr-xr-x 即655

3修改权限掩码 umask 命令

umask命令是用来显示或设置创建文件、目录的权限掩码的

umask [选项] [权限模式]
选项
`-S`以符号组合的方式输出权限掩码,不使用该选项时以八进制数的形式输出
权限模式 与chmod相同
注 使用umask设置的权限掩码只有临时有效,如果需要永久有效,需要修改/etc/bashrc文件里的内容,不建议修改

2.3 ACL权限

ACL(Access Control LIst) 主要目的是在提供传统的owner、group、others 的read、write、execute权限之外的细部权限设定,ACL可以针对单一使用者,单一文件或目录来进行r、w、x的权限规范

**命令 **

getfacl 查看ACL权限
语法 `getfacl [文件名]`
setfacl 添加、删除ACL权限
语法 `setfacl [选项] [文件名]`
选项
`-m` 设定ACL权限 多条逗号隔开
`-x` 删除ACL权限 多条逗号隔开 
`-b` 删除所有ACL权限
`-d` 设定默认ACL权限
`-k` 删除默认ACL权限
`-R` 递归设定ACL权限

ACL规则
`[d:]u:[用户名]:[权限(rwx)]` 指定用户的权限
`[d:]g:[组名]:[权限(rwx)]` 指定用户组的权限
 [d:] 表示设定为默认权限

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

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

相关文章

掌握 findIndex、push 和 splice:打造微信小程序的灵活图片上传功能✨

文章目录 ✨ 掌握 findIndex、push 和 splice:打造微信小程序的灵活图片上传功能 🌟示例场景:小程序图片上传🌼 认识 findIndex定义语法在代码中的应用示例当前行为 🚀 认识 push定义语法在代码中的应用示例特点 ✂️ …

【Java】—— 堆

一、堆的定义 在计算机科学中,堆(heap)是一种特殊的树状数据结构。用于存储和管理数据。堆通常用于实现优先队列。其中具有最高(或最低)优先级的元素始终位于堆的根部。 堆分为最小堆和最大堆两种类型: …

Windows 使用 Docker + WSL2 部署 Ollama(AMD 显卡推理)搭建手册‌

Windows 使用 Docker WSL2 部署 Ollama(AMD 显卡推理)搭建手册‌ ‌手册目标‌ 在 Windows 11 上通过 ‌Docker WSL2‌ 调用 AMD 显卡运行 Ollama 推理服务。 实现 ‌低延迟、高性能的本地模型推理‌,同时不影响 Windows 正常使用。 标记…

【每天认识一个漏洞】shiro反序列化漏洞

🌝博客主页:菜鸟小羊 💖专栏:Linux探索之旅 | 网络安全的神秘世界 | 专接本 | 每天学会一个渗透测试工具 以下是在实际业务中遇到的一个漏洞,仅用来学习,通过暴露的 /actuator/heapdump 端点获取 Shiro key…

【AI大模型】DeepSeek + Kimi 高效制作PPT实战详解

目录 一、前言 二、传统 PPT 制作问题 2.1 传统方式制作 PPT 2.2 AI 大模型辅助制作 PPT 2.3 适用场景对比分析 2.4 最佳实践与推荐 三、DeepSeek Kimi 高效制作PPT操作实践 3.1 Kimi 简介 3.2 DeepSeek Kimi 制作PPT优势 3.2.1 DeepSeek 优势 3.2.2 Kimi 制作PPT优…

音频3A测试--AGC(自动增益)和NS(降噪)测试

一、测试前期准备 一台电脑:用于作为控制播放和录制数据; 一台音频处理器(调音台):控制每个通道播放的数据,如噪声、人工头、模拟设备B输入的数据、收集标准麦克风,设备A处理完成的数据; 四个高保真音响&…

zabbix配置邮件告警

目录 实现步骤: 实现目的: 1.在监控端操作: 2.web界面部署 ​​​​​​​实现步骤: 1、在 zabbix服务端配置邮件发送脚本和修改 zabbix服务端配置文件; 2、在 zabbix前端控制台进行相关设置。 实现目的: Zab…

PHP fastadmin 学习

安装php环境安装mysql插件 修改 php.ini下载 phpstudy、fastadmin 错误 安装FastAdmin could not find driver 参考链接 安装插件 创建1.php <? phpinfo(); ?>运行 http://127.0.0.1/1.php 查看 POD 页面访问404 伪静态 Apache <IfModule mod_rewrite.c> O…

PARETO PROMPT OPTIMIZATION

题目 帕累托提示优化 论文地址&#xff1a;https://openreview.net/forum?idHGCk5aaSvE 摘要 自然语言迅速优化或及时工程已成为一种强大的技术&#xff0c;可以解锁大型语言模型&#xff08;LLMS&#xff09;的各种任务的潜力。尽管现有方法主要集中于最大化LLM输出的单一特…

Agent智能体是什么?

文章目录 一、Agent的起源与发展1.1时间线1.2核心驱动力 二、Agent的定义与架构2.1基本定义2.2典型结构&#xff08;以GPTs为例&#xff09; 三、OpenAI的Agent演进路径3.1关键阶段3.2技术支撑3.3 GPTs生态经济模型 四、其他Agent平台对比五、Agent实践案例5.1文本处理自动化5.…

【Linux第三弹】Linux基础指令 (下)

目录 &#x1f31f;1.find指令 1.1find使用实例 ​编辑 &#x1f31f;2.which指令 &#x1f31f;3.grep指令 3.1grep使用实例 &#x1f31f; 4.zip/unzip指令 4.1 zip/unzip使用实例 &#x1f31f;5.tar指令 5.1 tar使用实例 &#x1f31f;6.完结 很庆幸走在自己…

【Laplacian边缘检测详解】

Laplacian边缘检测详解 目录 Laplacian边缘检测详解一. 定义二. 原理三. 特点四. 使用技巧五. MATLAB示例代码示例1&#xff1a;基本Laplacian边缘检测示例2&#xff1a;扩展Laplacian核的使用示例3&#xff1a;与Sobel边缘检测的比较示例4&#xff1a;检测图像中的文字边缘示例…

为什么要学习数据结构与算法

今天&#xff0c;我向大家介绍一门非常重要的课程——《数据结构与算法》。这门课不仅是计算机学科的核心&#xff0c;更是每一位开发者从“小白”迈向“高手”的必经之路。 1、为什么要学习数据结构与算法 总的来说&#xff0c;数据结构与算法是&#xff1a; 求职的“敲门砖”…

【第13节】C++设计模式(行为模式)-Template(模板)模式

一、问题的提出 Template 模式&#xff1a;算法步骤框架与细节实现的分离 假设我们正在开发一个文档处理系统&#xff0c;需要支持多种文档格式的导出&#xff08;如 PDF、Word、HTML 等&#xff09;。每种文档格式的导出过程大致相同&#xff0c;都包含以下步骤&#xff1a; …

安卓binder驱动内核日志调试打印开放及原理(第一节)

背景&#xff1a; 经常有学员朋友在做系统开发时候&#xff0c;有时候遇到binder相关的一些问题&#xff0c;这个时候可能就需要比较多的binder相关日志&#xff0c;但是正常情况下这些binder通讯的的内核日志都是没有的打印的&#xff0c;因为经常binder通讯太过于频繁&#…

uniapp 常用 UI 组件库

1. uView UI 特点&#xff1a; 组件丰富&#xff1a;提供覆盖按钮、表单、图标、表格、导航、图表等场景的内置组件。跨平台支持&#xff1a;兼容 App、H5、小程序等多端。高度可定制&#xff1a;支持主题定制&#xff0c;组件样式灵活。实用工具类&#xff1a;提供时间、数组操…

Gpt翻译完整版

上一篇文章收到了很多小伙伴的反馈&#xff0c;总结了一下主要以下几点&#xff1a; 1. 说不知道怎么调api 2. 目前只是把所有的中文变成了英文&#xff0c;如果想要做多语言还需要把这些关键字提炼出来成放到message_zh.properties和message_en.properties文件中&#xff0c…

【MATLAB例程】三维下的IMM(交互式多模型),模型使用CV(匀速)、CT(匀速转弯)和CA(匀加速),滤波使用EKF。附完整代码

本文介绍一个三维IMM(Interacting Multiple Model)算法,该算法用于目标跟踪,结合了不同运动模型(匀速、匀加速和转弯)。代码使用MATLAB编写,包含仿真、模型预测和结果可视化。订阅专栏后,可直接获得完整代码 文章目录 运行结果完整代码代码解析1. 初始化环境2. 仿真参数…

未来经济范式争夺战:AR眼镜为何成为下一代交互终端的制高点?

未来经济范式争夺战&#xff1a;AR眼镜为何成为下一代交互终端的制高点&#xff1f; 在蒸汽机轰鸣的工业革命时代&#xff0c;煤炭、铁路、电报构建了第一个现代经济范式&#xff1b;互联网时代&#xff0c;电力、光纤、物流网络重构了全球经济版图。当前&#xff0c;我们正站…

【Python爬虫】爬取公共交通路网数据

程序来自于Github&#xff0c;以下这篇博客作为完整的学习记录&#xff0c;也callback上一篇爬取公共交通站点的博文。 Bardbo/get_bus_lines_and_stations_data_from_gaode: 这个项目是基于高德开放平台和公交网获取公交线路及站点数据&#xff0c;并生成shp文件&#xff0c;…