linux限权

shell命令以及运行原理

什么是shell命令:

将使用者的命令翻译给核心(kernel)处理。同时,将核心的处理结果翻译给使用者。
shell就相当于操作系统外的一层外壳
在这里插入图片描述
其实就是登录linux时的一个可执行程序(进程),一直存在
在这里插入图片描述
每次登录时,os都会给用户,新启动一个shell.
人手一个

为什么有shell外壳:

因为操作系统本身的易用程度和安全考虑,用户不能直接去操作操作系统而是通过shell命令来和操作系统沟通。
在这里插入图片描述

子进程(初识)

有风险的命令,或者自定义的命令,shell外壳都会创建子进程去执行,

限权

linux的用户:
root:超级管理员
普通用户:***

身份切换:
su :普通用户切换成root用户,需要输入root密码
su +普通用户名 :不需要密码验证
普通用户切换成另一个普通用户,需要另一个的密码

那么是不是用一种方法可以让普通用户在不切换成为root用户,也能让普通用户以root的权限去执行命令呢?

在命令的前面 +sudo

但是不是所用的普通用户的命令在前面加sudo都能够具备root的权限的,不然的话root的权限也就不管用了。root要先把这个普通用户添加到一个配置文件中,然后这个普通用户才可以。

权限:
linux的文件大概可以分为 文件角色权限和文件属性权限
在这里插入图片描述

那么如何修改文件的属性呢

添加:chmod u+rwx g+rwx o+rwx 或者三个一起修改:a+rwx
删除:把+变成-
在这里插入图片描述
在这里插入图片描述
我们也可以用二进制思想来修改文件属性
在这里插入图片描述
注意:可执行文件要满足两个条件才是真的可执行
1.文件的限权属性是可执行的 x
2.文件里的内容是一个可执行的内容

如何更改文件的拥有者,一般来说这个文件是那个用户创建的那么拥有者就是这个用户,如果我们想更改的话:
在这里插入图片描述
在这里插入图片描述
此时的gogoto用户也可以对文件进行操作了

注意:root用户可以无视文件限权属性操作:
在这里插入图片描述

更改文件的所属组:chgrp
在这里插入图片描述
更改文件的属性只有拥有者或者root可以,切换文件的角色只有root可以(或者root赋予了拥有者配置文件)

linux文件类型

在这里插入图片描述
常见的文件类型:

在这里插入图片描述
在这里插入图片描述

目录的权限

目录的权限任然是用rwx表示的:
在这里插入图片描述
在这里插入图片描述

默认限权:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如果我们几个普通用户想要实现文件共享,(既他们可以在同一个目录下增看查同一个文件)
根目录下有一个目录tmp具有可以让所有用户都进入并且新建文件,查看文件。但是这样的tmp目录里的文件会被其他用户随意删除,所以我们把这个目录other的x权限变成t(粘滞位)。
在这里插入图片描述

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

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

相关文章

滴滴春招深度揭秘:2024最全Spring Microservices Architecture面试题大全,每位开发者必备!99%的应聘者都强烈推荐!

在2024年,随着技术的不断演进和市场需求的快速变化,微服务架构已经成为现代软件开发的核心。滴滴作为领先的科技公司之一,特别重视在其庞大的交通网络服务平台中采用微服务架构,以提高系统的可扩展性、灵活性和维护性。微服务架构…

安装kali虚拟机

第一步:安装vmware 安装到最后,会提示输入序列号 安装成功后的图标 第二步:创建一个虚拟主机 创建了一个虚拟机 第三步:给虚拟机安装系统 安装系统,都必须有 系统镜像文件 一般系统镜像文件的后缀是 .iso 第一步&a…

利用CNN-Bigru-Attention模型输电线路故障诊断(Python代码,TensorFlow框架,)

效果视频:利用CNN-Bigru-Attention模型输电线路故障诊断(Python代码,TensorFlow框架,压缩包带有数据集和代码,解压缩可直接运行)_哔哩哔哩_bilibili 售后包免费远程协助运行(用向日葵或者todesk软件协助) …

Java中如何生成PDF文件的缩略图

在Java中生成PDF文件的缩略图可以使用Apache PDFBox库。以下是一个简单的示例代码来实现这个功能: import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.rendering.PDFRenderer; import org.apache.pdfbox.tools.imageio.ImageIOUtil;import j…

主机连接本地VM虚拟机中的Ubuntu系统

虽然说本文特指Ubuntu系统,但过程原理也可以运用到类似的虚拟机上 前言 假设本机IPV4地址为10.26.231.99 1. 查看主机IP winr → 输入cmd → 点击确定,打开CMD → 输入ipconfig查看本地IPV4地址(记下来) 2. 虚拟机添加自动桥…

GoogleNet网络训练集和测试集搭建

测试集和训练集都是在之前搭建好的基础上进行修改的,重点记录与之前不同的代码。 还是使用的花分类的数据集进行训练和测试的。 一、训练集 1、搭建网络 设置参数:使用辅助分类器,采用权重初始化 net GoogleNet(num_classes5, aux_logi…

Midjourney常见玩法及prompt关键词技巧

今天系统给大家讲讲Midjourney的常见玩法和prompt关键词的一些注意事项,带大家入门~(多图预警,建议收藏~) 一、入门及常见玩法 1、注册并添加服务器(会的童鞋可跳过~) …

实在智能携AI Agent智能体亮相2024年度QCon全球软件开发大会

4月11日-13日,以“全面进化”作为2024年度主题的「QCon全球软件开发大会暨智能软件开发生态展」在北京隆重举行。作为AI准独角兽和超自动化头部企业,实在智能应邀出席发表《面向办公自动化领域的AI Agent建设思考与分享》演讲及圆桌交流,展示…

反转二叉树(力扣226)

解题思路:用队列进行前序遍历的同时把节点的左节点和右节点交换 具体代码如下: class Solution { public:TreeNode* invertTree(TreeNode* root) {if (root NULL) return root;swap(root->left, root->right); // 中invertTree(root->left)…

OpenHarmony南向开发案例【智慧中控面板(基于 Bearpi-Micro)】

1 开发环境搭建 【从0开始搭建开发环境】【快速搭建开发环境】 参考鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或复制转到。 【注意】:快速上手教程第六步出拉取代码时需要修改代码仓库地址 在MobaXterm中输入…

【模拟】Leetcode 提莫攻击

题目讲解 495. 提莫攻击 算法讲解 前后的两个数字之间的关系要么是相减之差 > 中毒时间 &#xff0c;要么反之 那即可通过示例&#xff0c;进行算法的模拟&#xff0c;得出上图的计算公式 class Solution { public:int findPoisonedDuration(vector<int>& time…

redis热key问题如何解决?

今天跟大家分享一个干货——redis热key问题 那么什么是redis热key呢&#xff1f; 在Redis中&#xff0c;热键问题是指那些经常被访问的键&#xff0c;它们会消耗大量的Redis服务器资源&#xff0c;当大量的请求集中在一个key上&#xff0c;会导致这个节点的cpu&#xff0c;内…

至少需要[XXXXMB]内存才能安装(宝塔导入数据库提示)

①我的2g内存腾讯云服务器想安装mysql8.0 ②宝塔提示“至少需要[3700MB]内存才能安装” 将数据库部署到宝塔上的时候提示-----》至少需要[XXXXMB]内存才能安装&#xff0c;解决的方法其实也很简单。 首先&#xff0c;进入文件夹/www/server/panel/class&#xff0c;找到找到…

使用Python插入100万条数据到MySQL数据库并将数据逐步写出到多个Excel

Python插入100万条数据到MySQL数据库 步骤一&#xff1a;导入所需模块和库 首先&#xff0c;我们需要导入 MySQL 连接器模块和 Faker 模块。MySQL 连接器模块用于连接到 MySQL 数据库&#xff0c;而 Faker 模块用于生成虚假数据。 import mysql.connector # 导入 MySQL 连接…

PostgreSQL的学习心得和知识总结(一百三十八)|深入理解PostgreSQL数据库之Protocol message构造和解析逻辑

目录结构 注&#xff1a;提前言明 本文借鉴了以下博主、书籍或网站的内容&#xff0c;其列表如下&#xff1a; 1、参考书籍&#xff1a;《PostgreSQL数据库内核分析》 2、参考书籍&#xff1a;《数据库事务处理的艺术&#xff1a;事务管理与并发控制》 3、PostgreSQL数据库仓库…

【Java开发指南 | 第十一篇】Java运算符

读者可订阅专栏&#xff1a;Java开发指南 |【CSDN秋说】 文章目录 算术运算符关系运算符位运算符逻辑运算符赋值运算符条件运算符&#xff08;?:&#xff09;instanceof 运算符Java运算符优先级 Java运算符包括&#xff1a;算术运算符、关系运算符、位运算符、逻辑运算符、赋值…

关于ContentProvider这一遍就够了

ContentProvider是什么&#xff1f; ContentProvider是Android四大组件之一&#xff0c;主要用于不同应用程序之间或者同一个应用程序的不同部分之间共享数据。它是Android系统中用于存储和检索数据的抽象层&#xff0c;允许不同的应用程序通过统一的接口访问数据&#xff0c;…

java实现请求缓冲合并

业务背景&#xff1a; 我们对外提供了一个rest接口给第三方业务进行调用&#xff0c;但是由于第三方框架限制&#xff0c;导致会发送大量相似无效请求&#xff0c;例如&#xff1a;接口入参json包含两个字段&#xff0c;createBy和receiverList&#xff0c;完整的入参json示例…

Postman之版本信息查看

Postman之版本信息查看 一、为何需要查看版本信息&#xff1f;二、查看Postman的版本信息的步骤 一、为何需要查看版本信息&#xff1f; 不同的版本之间可能存在功能和界面的差异。 二、查看Postman的版本信息的步骤 1、打开 Postman 2、打开设置项 点击页面右上角的 “Set…

Java中的容器

Java中的容器主要包括以下几类&#xff1a; Collection接口及其子接口/实现类&#xff1a; List 接口及其实现类&#xff1a; ArrayList&#xff1a;基于动态数组实现的列表&#xff0c;支持随机访问&#xff0c;插入和删除元素可能导致大量元素移动。LinkedList&#xff1a;基…