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:] 表示设定为默认权限

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

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

相关文章

【AI深度学习网络】卷积神经网络(CNN)入门指南:从生物启发的原理到现代架构演进

深度神经网络系列文章 【AI深度学习网络】卷积神经网络(CNN)入门指南:从生物启发的原理到现代架构演进【AI实践】基于TensorFlow/Keras的CNN(卷积神经网络)简单实现:手写数字识别的工程实践 引言 在当今…

Qt之QGraphicsView图像操作

QGraphicsView图像操作:旋转、放大、缩小、移动、图层切换 1 摘要 GraphicsView框架结构主要包含三个主要的类QGraphicsScene(场景)、QGraphicsView(视图)、QGraphicsItem(图元)。QGraphicsScene本身不可见,是一个存储图元的容器,必须通过与之相连的QGraphicsView视图来显…

【Azure 架构师学习笔记】- Azure Databricks (14) -- 搭建Medallion Architecture part 2

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (13) – 搭建Medallion Architecture part 1 前言 上文搭建了ADB 与外部的交互部分,本篇搭建ADB 内部配置来满足medallion 架构。…

AI视频领域的DeepSeek—阿里万相2.1图生视频

让我们一同深入探索万相 2.1 ,本文不仅介绍其文生图和文生视频的使用秘籍,还将手把手教你如何利用它实现图生视频。 如下为生成的视频效果(我录制的GIF动图) 如下为输入的图片 目录 1.阿里巴巴全面开源旗下视频生成模型万相2.1模…

PostgreSQL 安装与使用

下载地址: EDB: Open-Source, Enterprise Postgres Database Management 安装图形化安装界面安装。安装完后将bin目录配置到系统环境变量 执行psql -h localhost -p 5432 -U postgres 密码在安装过程中设置的 ​ 0、修改密码 ALTER USER sonar WITH PASSWORD 123456; 1、新…

Go加spy++隐藏窗口

最近发现有些软件的窗口就像狗皮膏药一样,关也关不掉,一点就要登录,属实是有点不爽了。 窗口的进程不能杀死,但是窗口我不想要。思路很简单,用 spy 找到要隐藏的窗口的句柄,然后调用 Windows 的 ShowWindo…

[内网安全] Windows 域认证 — Kerberos 协议认证

🌟想系统化学习内网渗透?看看这个:[内网安全] 内网渗透 - 学习手册-CSDN博客 0x01:Kerberos 协议简介 Kerberos 是一种网络认证协议,其设计目标是通过密钥系统为客户机 / 服务器应用程序提供强大的认证服务。该认证过…

服务器数据恢复—raid5阵列中硬盘掉线导致上层应用不可用的数据恢复案例

服务器数据恢复环境&故障: 某公司一台服务器,服务器上有一组由8块硬盘组建的raid5磁盘阵列。 磁盘阵列中2块硬盘的指示灯显示异常,其他硬盘指示灯显示正常。上层应用不可用。 服务器数据恢复过程: 1、将服务器中所有硬盘编号…

π0源码解析——一个模型控制7种机械臂:对开源VLA sota之π0源码的全面分析,含我司的部分落地实践

前言 ChatGPT出来后的两年多,也是我疯狂写博的两年多(年初deepseek更引爆了下),比如从创业起步时的15年到后来22年之间 每年2-6篇的,干到了23年30篇、24年65篇、25年前两月18篇,成了我在大模型和具身的原始技术积累 如今一转眼…

Dify+DeepSeek | Excel数据一键可视化(创建步骤案例)(echarts助手.yml)(文档表格转图表、根据表格绘制图表、Excel绘制图表)

Dify部署参考:Dify Rag部署并集成在线Deepseek教程(Windows、部署Rag、安装Ragan安装、安装Dify安装、安装ollama安装) DifyDeepSeek - Excel数据一键可视化(创建步骤案例)-DSL工程文件(可直接导入&#x…

由麻省理工学院计算机科学与人工智能实验室等机构创建低成本、高效率的物理驱动数据生成框架,助力接触丰富的机器人操作任务

2025-02-28,由麻省理工学院计算机科学与人工智能实验室(CSAIL)和机器人与人工智能研究所的研究团队创建了一种低成本的数据生成框架,通过结合物理模拟、人类演示和基于模型的规划,高效生成大规模、高质量的接触丰富型机…

OpenCV计算摄影学(11)色调映射算法类cv::TonemapDrago

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 cv::TonemapDrago 是 OpenCV 中实现的基于 Paul Debevec 和 Jorge Moraleda 以及后来由 Rogier van de Weijer 和 Theo Drago 改进的色调映射算法…

蓝桥杯 Excel地址

Excel地址 题目描述 Excel 单元格的地址表示很有趣,它使用字母来表示列号。 比如, A 表示第 1 列, B 表示第 2 列, Z 表示第 26 列, AA 表示第 27 列, AB 表示第 28 列, BA 表示第 53 列&#x…

JS禁止web页面调试

前言 由于前端在页面渲染的过程中 会调用很多后端的接口,而有些接口是不希望别人看到的,所以前端调用后端接口的行为动作就需要做一个隐藏。 禁用右键菜单 document.oncontextmenu function() {console.log("禁用右键菜单");return false;…

实例详细演示在Pytest中如何忽略警告

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 当你尝试运行Pytest代码时,那些不相关的警告突然弹出,是不是…

OpenGL ES -> GLSurfaceView纹理贴图VBO(Vertex Buffer Object)方法实现

贴图 XML文件 <?xml version"1.0" encoding"utf-8"?> <com.example.myapplication.MyGLSurfaceViewxmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height…

IDEA中Git版本回退终极指南:Reset与Revert双方案详解

目录 前言一、版本回退前置知识二、Reset方案&#xff1a;整体改写历史1、IDEA图形化操作&#xff08;推荐&#xff09;1.1、查看提交历史1.2、选择目标版本1.3、选择回退模式1.3.1、Soft&#xff08;推荐&#xff09;1.3.2、Mixed1.3.3、Hard&#xff08;慎用&#xff09;1.3.…

面试题02.02.返回倒数第k个节点

实现一种算法&#xff0c;找出单向链表中倒数第 k 个节点。返回该节点的值。 注意&#xff1a;本题相对原题稍作改动 示例&#xff1a; 输入&#xff1a; 1->2->3->4->5 和 k 2 输出&#xff1a; 4 说明&#xff1a; 给定的 k 保证是有效的。 题解&#xff…

【经验分享】Ubuntu20.04编译RK3568 AI模型报错问题(已解决)

【经验分享】Ubuntu20.04编译RK3568 AI模型报错问题&#xff08;已解决&#xff09; 前言问题现象问题分析解决方案总结 前言 这里使用的是Rockchip提供的rknn_model_zoo&#xff0c;https://github.com/airockchip/rknn_model_zoo/tree/main 此解决方案适用于Rockchip芯片在U…

Python的那些事第四十一篇:简化数据库交互的利器Django ORM

Django ORM:简化数据库交互的利器 摘要 随着互联网技术的飞速发展,Web开发越来越受到重视。Django作为一款流行的Python Web框架,以其高效、安全、可扩展等特点受到了广大开发者的喜爱。其中,Django ORM(对象关系映射)是Django框架的核心组件之一,它为开发者提供了一种…