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

Linux用户、用户组和文件权限的管理与实践

目录

    • 一、Linux用户、用户组和文件权限的基础概念与作用
      • 1.1 Linux用户的概念与作用
      • 1.2 Linux用户组的概念与作用
      • 1.3 Linux文件权限的概念与作用
    • 二、Linux用户、用户组和文件权限的具体操作实践
      • 2.1 创建新用户:从零开始构建用户体系
      • 2.2 修改用户和用户组属性:精细掌控权限与身份
        • 2.2.1 修改用户属性
        • 2.2.2 修改用户组属性
      • 2.3 删除用户和用户组:释放资源与空间
        • 2.3.1 删除用户
        • 2.3.2 删除用户组
      • 2.4 访问控制列表与chmod操作:精细掌控文件权限
        • 2.4.1 设置文件和目录的访问控制列表(ACL)
        • 2.4.2 使用chmod命令更改文件权限
      • 2.5 文件和目录的所有权、访问控制与备份策略:确保数据安全与完整
        • 2.5.1 控制文件和目录的所有权
      • 2.6 使用sudo提升权限:以管理员身份执行命令
      • 2.7 使用ssh进行远程登录:安全访问远程服务器
      • 2.8 使用sftp进行文件传输:安全传输文件与目录
    • 三、使用图形界面管理器进行Linux用户、用户组和文件权限的管理

在Linux系统中,用户、用户组和文件权限的管理不仅关乎系统的安全性和稳定性,也直接影响到多用户环境下的工作效率。本文将通过详细的实战举例,对Linux用户、用户组和文件权限的所有操作进行深入探讨,旨在帮助读者熟练掌握相关工具和方法,更好地管理Linux系统。

一、Linux用户、用户组和文件权限的基础概念与作用

1.1 Linux用户的概念与作用

在Linux系统中,用户是指有权访问和操作系统的具有一定权限的实体。这些实体可以是人、程序或其他系统。

用户在Linux中主要有两个作用:

  1. 权限管理:Linux系统中的用户和权限是紧密相连的。每个用户都有对特定文件或目录的访问权限,这可以保护系统中的重要文件和目录不被误操作或恶意修改。同时,用户可以根据不同的权限设置,对不同的文件或目录进行不同的操作,例如读取、写入和执行等。
  2. 身份认证:Linux系统通过用户名和密码的身份认证方式,确认用户是否具有访问系统资源的权限。用户在登录系统时,需要输入正确的用户名和密码,只有在身份认证通过后,用户才能获得访问系统资源的权限。

Linux中的用户可以分为三种类型:

  1. 管理员:在Linux中,管理员是拥有所有权限的用户,通常只有一名,即root用户。root用户可以执行系统中的任何命令,对所有文件和目录进行操作,拥有对系统的完全控制权。
  2. 普通用户:普通用户具有对系统的一般权限,可以进行日常的文件和目录操作,但不能执行管理员权限的操作。
  3. 系统用户:系统用户主要是为了保障系统的正常运行而创建的,通常没有登录系统的权限,也不具有管理员权限。

1.2 Linux用户组的概念与作用

在Linux中,用户组是一个非常重要的概念,它是一个具有相同特征用户的逻辑集合。

用户组的主要作用是简化和方便系统管理员对用户进行管理以及权限的划分。例如,如果需要开放给多个用户访问某个文件的权限,一种方法是分别给每个用户授权,但当用户数量成百上千时,这种方法会变得非常繁琐。另一种方法就是创建一个用户组,将所有需要访问该文件的用户放入这个组中,然后给这个组授权,这样,组内的所有用户就拥有了相同的权限。

此外,通过定义用户组,还可以在很大程度上简化了对用户的管理工作。

在Linux系统中,用户组可以分为私有用户组和普通用户组。当我们创建一个用户时,如果没有指定用户所属的用户组,就会自动创建一个同名的私有用户组。当有其他用户加入这个组时,私有用户组就会变成普通用户组。

因此,用户组的提出,极大简化了Linux管理用户的难度,使得Linux对用户的管理以及权限划分更加容易便捷。

1.3 Linux文件权限的概念与作用

在Linux系统中,文件权限是保护文件和目录安全的重要机制之一。文件权限决定了特定用户在特定文件或目录上的访问权限,包括读取、写入、执行等操作。

文件权限可以从以下三个不同的角度来设定:

1.只允许用户自己访问:这种权限设置可以防止其他用户访问特定的文件或目录。
2.允许一个预先指定的用户组中的用户访问:这种权限设置可以控制一组特定的用户对文件或目录的访问权限。
3.允许系统中的任何用户访问:这种权限设置可以使任何用户都能够访问特定的文件或目录。

二、Linux用户、用户组和文件权限的具体操作实践

2.1 创建新用户:从零开始构建用户体系

在Linux中,可以使用adduser命令创建新用户。以下是一个创建名为“alice”的新用户的示例:

sudo adduser alice

该命令将引导你设置用户的密码、家目录等基本信息。完成后,新用户“alice”就创建成功了。

2.2 修改用户和用户组属性:精细掌控权限与身份

2.2.1 修改用户属性

要修改用户的基本属性,如密码、家目录等,可以使用usermod命令。例如,要更改用户“alice”的密码,可以执行以下命令:

sudo usermod -p $(openssl passwd -new) alice
2.2.2 修改用户组属性

要修改用户组的属性,如组名称、组成员等,可以使用groupmod命令。例如,要更改组名称为“developers”的用户组为“team1”,可以执行以下命令:

sudo groupmod -n team1 developers

2.3 删除用户和用户组:释放资源与空间

2.3.1 删除用户

要删除一个用户,可以使用userdel命令。例如,要删除名为“bob”的用户,可以执行以下命令:

sudo userdel bob
2.3.2 删除用户组

要删除一个用户组,可以使用groupdel命令。例如,要删除名为“team1”的用户组,可以执行以下命令:

sudo groupdel team1

2.4 访问控制列表与chmod操作:精细掌控文件权限

2.4.1 设置文件和目录的访问控制列表(ACL)

在Linux中,可以使用ACL来为文件和目录设置额外的访问权限。要设置ACL,可以使用setfacl命令。例如,要为所有用户设置对文件“example.txt”的读取权限,可以执行以下命令:

sudo setfacl -m u::r example.txt
2.4.2 使用chmod命令更改文件权限

要更改文件或目录的权限,可以使用chmod命令。例如,要为所有用户设置对目录“project”的读取和执行权限,可以执行以下命令:

sudo chmod -R o+rX project/    # -R 以递归方式设置权限, o+rX 表示为其他用户添加读取和执行权限

2.5 文件和目录的所有权、访问控制与备份策略:确保数据安全与完整

2.5.1 控制文件和目录的所有权

要更改文件或目录的所有者,可以使用chown命令。例如,要将文件“example.txt”的所有者更改为“alice”,可以执行以下命令:

sudo chown alice example.txt   # chown alice example.txt 更改文件的所有者为 alice 

2.6 使用sudo提升权限:以管理员身份执行命令

在Linux中,可以使用sudo命令以管理员身份执行命令。例如,要以管理员身份执行命令“ls -l /root”,可以执行以下命令:

sudo ls -l /root

2.7 使用ssh进行远程登录:安全访问远程服务器

在Linux中,可以使用ssh命令进行远程登录。例如,要远程登录到IP地址为192.168.0.100的服务器,可以使用以下命令:

ssh username@192.168.0.100

其中,“username”是远程服务器的用户名。

2.8 使用sftp进行文件传输:安全传输文件与目录

在Linux中,可以使用sftp命令进行文件传输。例如,要从本地计算机上传文件“example.txt”到远程服务器,可以使用以下命令:

sftp username@192.168.0.100 << EOF
put example.txt
bye
EOF

其中,“username”是远程服务器的用户名。

三、使用图形界面管理器进行Linux用户、用户组和文件权限的管理

对于不熟悉命令行工具的读者,可以使用图形界面管理器进行Linux用户、用户组和文件权限的管理。以下是一些常用的图形界面管理器:

  1. GNOME桌面环境:在GNOME桌面环境中,可以通过“系统”->“管理”->“用户和组”来管理用户和用户组,通过“系统”->“管理”->“文件管理器”来管理文件权限。
  2. KDE桌面环境:在KDE桌面环境中,可以通过“系统”->“设置”->“用户和组”来管理用户和用户组,通过“系统”->“设置”->“文件权限”来管理文件权限。
  3. Ubuntu的Unity桌面环境:在Unity桌面环境中,可以通过“设置”->“账户”来管理用户和用户组,通过“设置”->“文件”来管理文件权限。
  4. GNOME Shell桌面环境:在GNOME Shell桌面环境中,可以通过“控制中心”->“用户和群组”来管理用户和用户组,通过“控制中心”->“文件管理器”来管理文件权限。

点赞收藏,富婆包养✋✋

相关文章:

Linux用户、用户组和文件权限的管理与实践

目录 一、Linux用户、用户组和文件权限的基础概念与作用1.1 Linux用户的概念与作用1.2 Linux用户组的概念与作用1.3 Linux文件权限的概念与作用 二、Linux用户、用户组和文件权限的具体操作实践2.1 创建新用户&#xff1a;从零开始构建用户体系2.2 修改用户和用户组属性&#x…...

【CMU15-445 Part-14】Query Planning Optimization I

Part14-Query Planning & Optimization I SQL is Declarative&#xff0c;只告诉想要什么而不需要说怎么做。 IBM System R是第一个实现query optimizer查询优化器的系统 Heuristics / Rules 条件触发 静态规则&#xff0c;重写query来remove 低效或者愚蠢的东西&#xf…...

七、垃圾收集中级

JVM由浅入深系列 JVM由浅入深系列一、关于Java性能的误解二、Java性能概述三、了解JVM概述四、探索JVM架构五、垃圾收集基础六、HotSpot中的垃圾收集七、垃圾收集中级八、垃圾收集高级👋垃圾收集中级 ⚽️1. 权衡收集器插件 就 Java 平台而言,有一点可能初学者未必能马上意…...

el-menu 导航栏学习(1)

最简单的导航栏学习跳转实例效果&#xff1a; &#xff08;1&#xff09;index.js路由配置&#xff1a; import Vue from vue import Router from vue-router import NavMenuDemo from /components/NavMenuDemo import test1 from /components/test1 import test2 from /c…...

Axios请求封装

安装axios&#xff0c;在net文件下新建index.js&#xff0c;封装InternalPsot请求&#xff1a; function internalPost(url,data,header,success,failure,errordefaultError()){axios.post(url,data,{headers:header}).then(({data})>{if (data.code200){success(data.dat…...

Pikachu靶场——XXE 漏洞

文章目录 1. XXE1.1 查看系统文件内容1.2 查看PHP源代码1.3 查看开放端口1.4 探测内网主机 1. XXE 漏洞描述 XXE&#xff08;XML External Entity&#xff09;攻击是一种利用XML解析器漏洞的攻击。在这种攻击中&#xff0c;攻击者通过在XML文件中插入恶意实体来触发解析器加载…...

vscode登录租的新服务器

1.connect to…… 选择 connect current window to host 2.configure SSH Host 选择本地配置文件 打开配置文件&#xff0c;把主机名端口号写进去 再返回vscode远程登录页面&#xff0c;左侧栏就会出现这个主机名了。...

Verilog参数定义与仿真模块中的参数修改

文章目录 参数方式定义参数的优势rtl模块中的参数定义模块名后定义参数parameter定义参数 仿真模块中的参数修改例化时修改defparam修改 总结与说明附录&#xff1a;测试代码 参数方式定义参数的优势 当一个模块被另一个模块引用例化时&#xff0c;高层模块可以对低层模块的参…...

Android studio升级Giraffe | 2022.3.1 Patch 1踩坑

这里写自定义目录标题 not "opens java.io" to unnamed module错误报错信息解决 superclass access check failed: class butterknife.compiler.ButterKnifeProcessor$RScanner报错报错信息解决 Android studio升级Giraffe | 2022.3.1 Patch 1后&#xff0c;出现项目…...

使用U3D、pico开发VR(二)——添加手柄摇杆控制移动

一、将unity 与visual studio 相关联 1.Edit->Preference->External tool 选择相应的版本 二、手柄遥控人物转向和人物移动 1.添加Locomotion System组件 选择XR Origin&#xff1b; 2.添加Continuous Move Provider&#xff08;Action-based&#xff09;组件 1>…...

【FPGA项目】图像采集及显示(2)详细设计方案

目录 前言 一、视频流采集设计 二、DDR3缓存控制 三、FIFO 设计 四、VGA显示器驱动设计...

查找排序部分习题 242. 有效的字母异位词 74. 搜索二维矩阵 1. 两数之和 167.两数之和 II

242. 有效的字母异位词 给定两个字符串 s 和 t &#xff0c;编写一个函数来判断 t 是否是 s 的字母异位词。 注意&#xff1a;若 s 和 t 中每个字符出现的次数都相同&#xff0c;则称 s 和 t 互为字母异位词。 class Solution(object):def isAnagram(self, s, t):""…...

MATLAB算法实战应用案例精讲-【优化算法】冠状病毒优化算法(COVIDOA)(附MATLAB代码实现)

目录 前言 知识储备 1 冠状病毒群体免疫优化算法...

React查询、搜索类功能的实现

React查询、搜索类功能的实现 查询之类的如果是通过向列表接口中发送对应参数来查询的&#xff0c;那么在默认输出时&#xff0c;在useEffect钩子中的请求中可以先为需要查询的请求参数设初始的state&#xff0c;也就是null或者未定义&#xff0c;这样的话初始请求的还是整个列…...

k8s搭建EFK日志系统

搭建 EFK 日志系统 前面大家介绍了 Kubernetes 集群中的几种日志收集方案&#xff0c;Kubernetes 中比较流行的日志收集解决方案是 Elasticsearch、Fluentd 和 Kibana&#xff08;EFK&#xff09;技术栈&#xff0c;也是官方现在比较推荐的一种方案。 Elasticsearch 是一个实…...

LuatOS-SOC接口文档(air780E)-- fonts - 字体库

fonts.list(tp) 返回固件支持的字体列表 参数 传入值类型 解释 string 类型, 默认 u8g2, 还可以是lvgl 返回值 返回值类型 解释 table 字体列表 例子 -- API新增于2022-07-12 if fonts.list thenlog.info("fonts", "u8g2", json.encode(fonts…...

[Java·算法·困难]LeetCode124.二叉树中的最大路径和

每天一题&#xff0c;防止痴呆 题目示例分析思路1题解1 &#x1f449;️ 力扣原文 题目 二叉树中的 路径 被定义为一条节点序列&#xff0c;序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点&#xff0c;且不一定经…...

【微服务保护】

文章目录 Sentinel流量控制流控模式流控效果 隔离和降级线程隔离熔断降级 授权规则和规则持久化 微服务雪崩问题&#xff1a; 微服务中&#xff0c;服务间调用关系错综复杂&#xff0c;一个微服务往往依赖于多个其它微服务。服务D有 故障进而导致服务A有故障&#xff0c;进而导…...

【MATLAB第78期】基于MATLAB的VMD-SSA-LSTM麻雀算法优化LSTM时间序列预测模型

【MATLAB第78期】基于MATLAB的VMD-SSA-LSTM麻雀算法优化LSTM时间序列预测模型 一、LSTM data xlsread(数据集.xlsx);% [x,y]data_process(data,15);%前15个时刻 预测下一个时刻 %归一化 [xs,mappingx]mapminmax(x,0,1);xxs; [ys,mappingy]mapminmax(y,0,1);yys; %划分数据 n…...

分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测

分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测 目录 分类预测 | MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结合支持向量机分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现SSA-FS-SVM麻雀算法同步优化特征选择结…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

Qt Widget类解析与代码注释

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码&#xff0c;写上注释 当然可以&#xff01;这段代码是 Qt …...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI

前一阵子在百度 AI 开发者大会上&#xff0c;看到基于小智 AI DIY 玩具的演示&#xff0c;感觉有点意思&#xff0c;想着自己也来试试。 如果只是想烧录现成的固件&#xff0c;乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外&#xff0c;还提供了基于网页版的 ESP LA…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

tree 树组件大数据卡顿问题优化

问题背景 项目中有用到树组件用来做文件目录&#xff0c;但是由于这个树组件的节点越来越多&#xff0c;导致页面在滚动这个树组件的时候浏览器就很容易卡死。这种问题基本上都是因为dom节点太多&#xff0c;导致的浏览器卡顿&#xff0c;这里很明显就需要用到虚拟列表的技术&…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

安全突围:重塑内生安全体系:齐向东在2025年BCS大会的演讲

文章目录 前言第一部分&#xff1a;体系力量是突围之钥第一重困境是体系思想落地不畅。第二重困境是大小体系融合瓶颈。第三重困境是“小体系”运营梗阻。 第二部分&#xff1a;体系矛盾是突围之障一是数据孤岛的障碍。二是投入不足的障碍。三是新旧兼容难的障碍。 第三部分&am…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...