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中主要有两个作用:
- 权限管理:Linux系统中的用户和权限是紧密相连的。每个用户都有对特定文件或目录的访问权限,这可以保护系统中的重要文件和目录不被误操作或恶意修改。同时,用户可以根据不同的权限设置,对不同的文件或目录进行不同的操作,例如读取、写入和执行等。
- 身份认证:Linux系统通过用户名和密码的身份认证方式,确认用户是否具有访问系统资源的权限。用户在登录系统时,需要输入正确的用户名和密码,只有在身份认证通过后,用户才能获得访问系统资源的权限。
Linux中的用户可以分为三种类型:
- 管理员:在Linux中,管理员是拥有所有权限的用户,通常只有一名,即root用户。root用户可以执行系统中的任何命令,对所有文件和目录进行操作,拥有对系统的完全控制权。
- 普通用户:普通用户具有对系统的一般权限,可以进行日常的文件和目录操作,但不能执行管理员权限的操作。
- 系统用户:系统用户主要是为了保障系统的正常运行而创建的,通常没有登录系统的权限,也不具有管理员权限。
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用户、用户组和文件权限的管理。以下是一些常用的图形界面管理器:
- GNOME桌面环境:在GNOME桌面环境中,可以通过“系统”->“管理”->“用户和组”来管理用户和用户组,通过“系统”->“管理”->“文件管理器”来管理文件权限。
- KDE桌面环境:在KDE桌面环境中,可以通过“系统”->“设置”->“用户和组”来管理用户和用户组,通过“系统”->“设置”->“文件权限”来管理文件权限。
- Ubuntu的Unity桌面环境:在Unity桌面环境中,可以通过“设置”->“账户”来管理用户和用户组,通过“设置”->“文件”来管理文件权限。
- GNOME Shell桌面环境:在GNOME Shell桌面环境中,可以通过“控制中心”->“用户和群组”来管理用户和用户组,通过“控制中心”->“文件管理器”来管理文件权限。
点赞收藏,富婆包养✋✋
相关文章:
Linux用户、用户组和文件权限的管理与实践
目录 一、Linux用户、用户组和文件权限的基础概念与作用1.1 Linux用户的概念与作用1.2 Linux用户组的概念与作用1.3 Linux文件权限的概念与作用 二、Linux用户、用户组和文件权限的具体操作实践2.1 创建新用户:从零开始构建用户体系2.2 修改用户和用户组属性&#x…...
【CMU15-445 Part-14】Query Planning Optimization I
Part14-Query Planning & Optimization I SQL is Declarative,只告诉想要什么而不需要说怎么做。 IBM System R是第一个实现query optimizer查询优化器的系统 Heuristics / Rules 条件触发 静态规则,重写query来remove 低效或者愚蠢的东西…...
七、垃圾收集中级
JVM由浅入深系列 JVM由浅入深系列一、关于Java性能的误解二、Java性能概述三、了解JVM概述四、探索JVM架构五、垃圾收集基础六、HotSpot中的垃圾收集七、垃圾收集中级八、垃圾收集高级👋垃圾收集中级 ⚽️1. 权衡收集器插件 就 Java 平台而言,有一点可能初学者未必能马上意…...
el-menu 导航栏学习(1)
最简单的导航栏学习跳转实例效果: (1)index.js路由配置: 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,在net文件下新建index.js,封装InternalPsot请求: 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(XML External Entity)攻击是一种利用XML解析器漏洞的攻击。在这种攻击中,攻击者通过在XML文件中插入恶意实体来触发解析器加载…...
vscode登录租的新服务器
1.connect to…… 选择 connect current window to host 2.configure SSH Host 选择本地配置文件 打开配置文件,把主机名端口号写进去 再返回vscode远程登录页面,左侧栏就会出现这个主机名了。...
Verilog参数定义与仿真模块中的参数修改
文章目录 参数方式定义参数的优势rtl模块中的参数定义模块名后定义参数parameter定义参数 仿真模块中的参数修改例化时修改defparam修改 总结与说明附录:测试代码 参数方式定义参数的优势 当一个模块被另一个模块引用例化时,高层模块可以对低层模块的参…...
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后,出现项目…...
使用U3D、pico开发VR(二)——添加手柄摇杆控制移动
一、将unity 与visual studio 相关联 1.Edit->Preference->External tool 选择相应的版本 二、手柄遥控人物转向和人物移动 1.添加Locomotion System组件 选择XR Origin; 2.添加Continuous Move Provider(Action-based)组件 1>…...
【FPGA项目】图像采集及显示(2)详细设计方案
目录 前言 一、视频流采集设计 二、DDR3缓存控制 三、FIFO 设计 四、VGA显示器驱动设计...
查找排序部分习题 242. 有效的字母异位词 74. 搜索二维矩阵 1. 两数之和 167.两数之和 II
242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。 class Solution(object):def isAnagram(self, s, t):""…...
MATLAB算法实战应用案例精讲-【优化算法】冠状病毒优化算法(COVIDOA)(附MATLAB代码实现)
目录 前言 知识储备 1 冠状病毒群体免疫优化算法...
React查询、搜索类功能的实现
React查询、搜索类功能的实现 查询之类的如果是通过向列表接口中发送对应参数来查询的,那么在默认输出时,在useEffect钩子中的请求中可以先为需要查询的请求参数设初始的state,也就是null或者未定义,这样的话初始请求的还是整个列…...
k8s搭建EFK日志系统
搭建 EFK 日志系统 前面大家介绍了 Kubernetes 集群中的几种日志收集方案,Kubernetes 中比较流行的日志收集解决方案是 Elasticsearch、Fluentd 和 Kibana(EFK)技术栈,也是官方现在比较推荐的一种方案。 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.二叉树中的最大路径和
每天一题,防止痴呆 题目示例分析思路1题解1 👉️ 力扣原文 题目 二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经…...
【微服务保护】
文章目录 Sentinel流量控制流控模式流控效果 隔离和降级线程隔离熔断降级 授权规则和规则持久化 微服务雪崩问题: 微服务中,服务间调用关系错综复杂,一个微服务往往依赖于多个其它微服务。服务D有 故障进而导致服务A有故障,进而导…...
【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麻雀算法同步优化特征选择结…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
数据库分批入库
今天在工作中,遇到一个问题,就是分批查询的时候,由于批次过大导致出现了一些问题,一下是问题描述和解决方案: 示例: // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...
脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)
一、OpenBCI_GUI 项目概述 (一)项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台,其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言,首次接触 OpenBCI 设备时,往…...
Bean 作用域有哪些?如何答出技术深度?
导语: Spring 面试绕不开 Bean 的作用域问题,这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开,结合典型面试题及实战场景,帮你厘清重点,打破模板式回答,…...
Qt 事件处理中 return 的深入解析
Qt 事件处理中 return 的深入解析 在 Qt 事件处理中,return 语句的使用是另一个关键概念,它与 event->accept()/event->ignore() 密切相关但作用不同。让我们详细分析一下它们之间的关系和工作原理。 核心区别:不同层级的事件处理 方…...
