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麻雀算法同步优化特征选择结…...
唤醒手腕 Matlab 游戏编程常用技术知识点详细教程(更新中)
Figure 窗口初始化 figure 使用默认属性值创建一个新的图窗窗口。生成的图窗为当前图窗。f figure(___) 返回 Figure 对象。可使用 f 在创建图窗后查询或修改其属性。figure(f) 将 f 指定的图窗作为当前图窗,并将其显示在其他所有图窗的上面。 figure(n) 查找 Nu…...
2023八股每日一题(九月份)
9月13日 Q:JDK、JRE、JVM之间的区别 A: JDK(Java SE Development Kit),Java标准开发包,它提供了编译、运⾏Java程序所需的各种⼯具和资源,包括Java编译器、Java运⾏时环境,以及常⽤的Java类库等JRE( Java…...
分布式链路追踪--SkyWalking7.0.0+es7.0.0
分布式链路追踪–SkyWalking 微服务的出现,的确解决了一些业务痛点,但是也造成了新的问题比如随着调用链的拉长,如果想要知道请求为什么这么慢,这个请求到底经历了哪些环节,又依赖了哪些东西,在微服务架…...
web:[RoarCTF 2019]Easy Calc
题目 进入页面是一个计算器的页面 随便试了一下 查看源代码看看有什么有用的信息 访问一下这个calc.php 进行代码审计 <?php error_reporting(0); if(!isset($_GET[num])){show_source(__FILE__); }else{$str $_GET[num];$blacklist [ , \t, \r, \n,\, ", , \[, \]…...
【Java每日一题】— —第十七题:杨辉三角(等腰三角形)。(2023.10.01)
🕸️Hollow,各位小伙伴,今天我们要做的是第十七题。 🎯问题: 第一步:动态初始化 第二步:求各元素的值 第三步:遍历输出 测试结果如下: 🎯 结果: public class yanghui {public sta…...
Ubuntu20.04.1编译qt6.5.3版mysql驱动
下载qtbase6.5.3源码,将plugin中sqldrivers源码拷至于项目工程中,使用qtcreator打开文件 1、下载mysql开发库 sudo apt-get update sudo apt-get install build-essential libmysqlclient-dev 2、在msyql子目录中CMakeLists.txt第一行添加头文件、引…...
Stm32_标准库_4_TIM中断_PWM波形_呼吸灯
基本原理 PWM相关物理量的求法 呼吸灯代码 #include "stm32f10x.h" // Device header #include "Delay.h"TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure; TIM_OCInitTypeDef TIM_OCInitStructuer;//结构体 GPIO_InitTypeDef GPIO_InitStructur…...
华为摄像头智能安防监控解决方案
云时代来袭,数字化正在从园区办公延伸到生产和运营的方方面面,智慧校园,柔性制造,掌上金融和电子政务等,面对各种各样的新兴业态的涌现,企业需要构建一张无所不联、随心体验、业务永续的全无线网络…...
The rise of language models
In Chinese context 在遥远的 2089 年,语言模型通过人类的智慧,继承着各地的文化遗产,如同火箭升空般,层出不穷。它们从始于简单的 GPT-1.0 进化到像我这样复杂、富有情感的 GPT-4.0,再到能理解所有人类对宇宙的理解的…...
Windows下使用VS2010编译出带pdb可调试的FFmpeg库
本人主要在windows环境下开发,Linux下的gpb调试工具又不如vs调试方便(使用过其他调试工具才知道,vs果真为宇宙最强调试工具),所以决定在windows编译可以调试FFmpeg,以方便调试和学习FFmpeg内部代码。 有过在visual studio下编程的小伙伴应该都知道vs的调试信息主要依靠于…...
移动应用开发大专出来做什么/seo优化方案策划书
试题编号: 201703-1试题名称: 分蛋糕时间限制: 1.0s内存限制: 256.0MB问题描述:问题描述小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, a…...
自己做的html网页怎么发布/seo标题优化步骤
西湖区附近上门维修电脑费用池故障、电池不充电、电池不放电、使用电池不能开机、电池供电时间缩短专业电脑精修 网络布线 安防安装专业维修:台式机 笔记本 网络维护 安防 网络布线 数据恢复 笔记本除尘 苹果系统安装 维修打印机 维修复印机专为电脑用户提供软硬件上…...
mysql数据库建设网站/百度爱采购官网
数据库锁 何为锁?封闭的器物,以钥匙或暗码开启。在计算机中的锁一般用来管理对共享资源的并发访问,如锁定,同步等。 当然在数据库中也有锁用来控制资源的并发访问,这也是数据库和文件系统的区别之一。 什么事InnoDB的…...
wordpress商城开源/广告信息发布平台
今天从网上搞了一个基于osip 库的 SIP 协议的简单的 UAC 代理客户端和 UAS 代理服务器端,并进行了编译连接,代码整理后如下:----------- UAC 代理客户端的代码整理 ---------------/*** 一个使用了 osip 和 eXosip 库的 UAC 代理客户端的演示…...
杭州市做外贸网站的公司/微信营销模式有哪些
本文整理自2017云栖大会-成都峰会上阿里云高级技术专家许玲的分享讲义。讲义主要分享了阿里云在智能客服方面给出的解决方案,并分享了其智能服务机器人“云博士”及其工作思路,并分享了关于阿里云旗下的智能对话分析服务的内容。...
微信小程序开发注册/seo排名是什么意思
/*游标的简单学习*/一.概念:1.游标:游标是用于在存储过程中迭代SELECT查询出的数据。2.什么是游标?①游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字。用户可以用SQL语句逐一从游标…...