【Linux】权限管理与相关指令

news2024/11/15 11:59:13

文章目录

  • 1.权限、文件权限、用户
    • 文件权限的理解以及对应八进制数值表示、设置目录为粘滞位
    • 文件类型
  • 2.权限相关的常用指令
    • su
    • sudo
    • chmod
    • chown
    • chgrp
    • umask
    • whoami
    • file

1.权限、文件权限、用户

  通过一定条件,拦住一部分人,给另一部分权利来访问资源,比如Vip、门禁等。

(1)权限 = 用户角色 + 文件属性。

(2)Linux中的用户:root超级管理员、普通用户。

(3)对于文件来说有三种角色:user 所有者、group 所属组用户(所有者所在组的用户)、others 其它用户。“组”的这种权限管理概念,主要是多人协作时有用。
在这里插入图片描述

文件权限的理解以及对应八进制数值表示、设置目录为粘滞位

  • r(4):读权限,用户能查看指定目录内的文件;读取文件内容;
  • w(2):写权限,用户能在目录内创建、移动、修改和删除文件;修改文件内容;
  • x(1):执行权限,用户可以进入这个目录;可以执行文件;
  • -:表示不具有权限;
  • rw(6):读写权限;
  • wx(3):写和可执行;
  • rwx(7):可读可写可执行;
  • —:三个‘-’号表示该用户无任何权限。

对于x可执行权限的理解:拥有可执行权限!=可执行,可执行==具有可执行权限+文件是可执行文件。

  • 对一个目录或文件无x权限,意味着无法cd到目录,无法在目录下执行命令;也无法执行一个可执行文件;

  • 对一个目录或文件无r权限,意味着无法用ls查看目录内有哪些文件,也不能用cat读取文件内容;

  • 对一个目录或文件无w权限,意味着无法在这个目录创建文件,也无法删除、编辑文件。

有几点要注意:目录有-r权限,不代表可以进入目录读取文件,这一点是-x控制的而不是-r。目录具有-x权限,没有-r权限,则可以cd进入这个目录,也可以在这个目录下执行命令;但由于没有-r权限,即使可以执行ls命令,也任然无法读取目录下有哪些文件或目录。

但有一点并不科学,只要用户有目录的写权限,那就可以删除目录中的文件,而不论这个用户是否有这个文件的写权限,例如张三创建的文件,凭什么李四能删除掉。一个文件能不能被删除,与用户是否有这个文件的写权限无关,只要有这个文件所在目录的写权限,即使是普通用户也可以为所欲为,为了解决这个问题,Linux引入了粘滞位

chmod +t 目录 设置目录为粘滞位,该目录下的文件只能由超级管理员、目录的所有者或文件的所有者删除。

多个Linux用户协作,如果想实现多个用户文件信息共享,注意不能在任何一个用户家目录里面创建文件来共享(只有拥有者对家目录有权限),而是在系统的非用户目录下创建共享目录,并且对other用户放开所有权限。

但这样还是会出问题,比如张三在这个共享目录创建了一个文件,这个文件张三只想给李四看,王五就不爽了把这个文件删了,所以需要使用粘滞位来防止这种情况。不开放写权限也可以解决问题,但是这样一来其它用户就无法再共享目录中创建文件,那就无法做到共享了。

文件类型

  • d:文件夹(目录);
  • -:普通文件;
  • l:软链接(类似Windows的快捷方式打开软件);
  • b:块设备文件:硬盘、光驱;
  • p:管道文件;
  • c:字符设备文件:屏幕显示器;
  • s:套接口文件。

Windows系统通过后缀区分文件类型,但是Linux不是以后缀区分,也就是Linux的文件不需要后缀。但我们习惯使用Windows,学习Linux创建文件也习惯加上后缀让我们自己好区分。

虽然Linux文件不需要后缀,但不是说Linux文件不需要文件后缀,比如在Linux使用gcc编译器变成C/C++文件,那gcc编译器就会区分了,如果不是.c或.cpp结尾,没办法编译。

2.权限相关的常用指令

su

su:切换超级用户
su [用户名]:切换用户

会提示输入密码。

超级用户的命令提示符是#,普通用户是$。

sudo

给任何指令提权,以root的身份执行:sudo 后接任何指令

需要输入你的密码,不是root用户的密码,很奇怪!

chmod

修改文件权限,只有文件的拥有者和root用户可以修改文件权限。

-R 递归修改目录权限

+号增加权限,-号减少权限,=号赋予权限

u:user,即所有者
chmod u+rwx filename
chmod u-rwx filename

g:group,即所属组
o:other,即其它用户
a:all,所有用户

普通用户如果对这个文件没有相应权限,即使这个文件的所有者是你,那也无法执行相应操作!
在这里插入图片描述
只有root不受权限约束!

使用权限数值修改权限:
chmod 744 fimename
第一个7即文件拥有者可读可写可执行;
第二个4即所属组成员可读;
第三个4即其它用户可读。

chown

修改文件或目录的拥有者。

-R 递归修改目录下的文件所属者

chown username filename

chown zhangsan test.c

chgrp

修改文件或目录的所属组

-R 递归修改目录下的文件所属组

chgrp [-R] 用户组 文件名

umask

查看、修改或设置文件掩码,超级管理员用户的默认文件掩码一般是0022,普通用户是0002

新建文件的默认权限是0666,新建目录的默认权限是0777。但创建后的文件或目录不是这个默认权限值,因为会受到umask文件掩码的影响,实际上创建文件或目录的权限是:默认权限 & ~umask,按位取反后的umask文件掩码,按位与文件或目录的默认权限。

也可以不用这么麻烦去算,直接把默认权限减去文件掩码就能得到创建后的权限,不过要记住权限值的原理并不是相减得到,而是上述说的默认权限 $ ~umask

umask 查看
umask 044 设置或修改为044

whoami

显示当前登录用户

file

显示文件类型

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

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

相关文章

【node-RED 4.0.2】连接 Oracle 数据库踩坑解决,使用模组:node-red-contrib-agur-connector

关于 Oracle Oracle 就好像一张吸满水的面巾纸,你稍一用力它就烂了。 一、发现的问题 1.为什么需要 Oracle Instant Client && 不能使用 rpm 安装的原因 我们在使用 node-red 的 node-red-contrib-agur-connector 插件模组时,需要用到 Oracl…

QML界面控件加载与显示顺序

一、QML界面控件加载顺序 QML在界面加载时的顺序和我们认知的有很大的不同,有时候会对我们获取参数以及界面实现造成很大的困扰 1、加载顺序 import QtQuick 2.12 import QtQml 2.12 import QtQuick.Window 2.12 import QtQuick.VirtualKeyboard 2.4Window {id: …

Oracle使用fetch first子句报错:ORA-00933 SQL命令未正确结束

问题背景 今天在统计终端厂商告警次数Top10的时候使用SQL查询使用到了fetch first子句,结果执行报错:ORA-00933 SQL命令未正确结束。 报错原因 Oracle数据库中,使用 FETCH FIRST 子句需要启用 Oracle 12c 及以上版本。如果在较低版本的 Or…

德迅与DSV携香港蝴蝶效应集团,创半导体与新能源汽车物流新篇章

在全球经济一体化的大背景下,物流行业作为连接生产与消费的重要纽带,正迎来前所未有的发展机遇。特别是在半导体产业和新能源汽车领域,物流服务的专业性和高效性已成为企业竞争力的重要体现。近日,国际物流巨头德迅(Kuehne Nagel International)与全球汽车行业供应链物流专家D…

GitHub+Picgo图片上传

Picgo下载,修改安装路径,其他一路下一步! 地址 注册GitHub,注册过程不详细展开,不会的百度一下 地址 新建GitHub仓库存放图片 生成Token令牌 点击头像,点击Settings 滑到最后 过期时间:No expi…

用HTML和CSS实现提示工具(tooltip)及HTML元素的定位

所谓提示工具,是指将鼠标移动到某个HTML元素(工具)时会显示一些提示内容(提示文本),而鼠标移出工具元素的范围时提示文本就消失了。考虑到提示文本元素应当在鼠标进入工具元素时显示,鼠标离开工…

网络安全防御【防火墙NAT智能选举综合实验】

目录 一、实验拓扑图 二、实验要求 三、实验思路 四、实验步骤 1、FW2的网络相关配置: 2、路由器需要增加的(接口)命令配置 3、新增加的PC、client、sever的IP地址配置: 4、多对多的NAT,并且需要保留一个公网I…

LeetCode 3011.判断一个数组是否可以变为有序

注:这个题目有序的意思是“升序” 解法一:bubblesort O(nlogn) 核心思想:冒泡每次会将一个数归位到最后的位置上,所以我们如果碰到无法向右交换的数字,即可return false class Solution { public:// 返回一个十进制…

链接追踪系列-05.mac m1 安装es+kibana

运行启动脚本: docker run -e ES_JAVA_OPTS"-Xms512m -Xmx512m" -d -p 9200:9200 -p 9300:9300 -e "discovery.typesingle-node" \-v /Users/jelex/dockerV/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml …

初涉项目架构

初涉项目架构 了解传统项目与互联网项目的区别 传统项目指OA、HR、CRM这种,互联网项目则是常见的app 首先是受众(服务对象)不同,传统项目是面向公司、学校等群体,互联网项目则是面向全体网民 两种对象数量不同&#x…

使用Java连接星火认知大模型:一个实际案例解析

引言: 随着人工智能技术的快速发展,认知大模型如星火在自然语言处理、语音识别等领域发挥着越来越重要的作用。本文将通过一个实际的Java代码示例,详细讲解如何使用Java连接星火认知大模型,并处理其响应。 1.导入依赖&#xff1…

Github 2024-07-13 开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-13统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目3TypeScript项目2Go项目2Java项目2Rust项目1非开发语言项目1Solidity项目1从零开始构建你喜爱的技术 创建周期:2156 天Star数量:25…

如何在 Android Studio 中导出并在 IntelliJ IDEA 中查看应用的 SQLite 数据库

在 Android 应用开发过程中,调试和查看应用内的数据库内容是常见的需求。本文将介绍如何使用 Android Studio 导出应用的 SQLite 数据库,并在 IntelliJ IDEA 中查看该数据库。 步骤一:在设备上运行您的应用 首先,确保您的应用已…

T113-i系统启动速度优化方案

背景: 硬件:T113-i + emmc 软件:uboot2018 + linux5.4 + QT应用 分支:longan 问题: 全志T113-i的官方系统软件编译出的固件,开机启动时间10多秒,启动时间太长,远远超过行业内linux系统的开机速度,需要进一步优化。 T113-i 优化后启动速度实测数据 启动阶段启动时间(…

本地部署 EVE: Unveiling Encoder-Free Vision-Language Models

本地部署 EVE: Unveiling Encoder-Free Vision-Language Models 0. 引言1. 快速开始2. 运行 Demo 0. 引言 EVE (Encoder-free Vision-language model) 是一种创新的多模态 AI 模型,主要特点是去除了传统视觉语言模型中的视觉编码器。 核心创新 架构创新&#xff…

装饰模式(大话设计模式)C/C++版本

装饰模式 需求分析: 1. 选择服饰 > 服饰类 2. 输出结果 对象是人 > 人类将Person类中一大堆服饰功能抽象出服饰类,然后通过Person类聚合服饰属性,通过Set行为来设置服饰属性,最后达到灵活打扮的效果 装饰模式 动态地给一个…

如何查找电脑的MAC地址

一. 什么是mac地址? mac地址本质上帮助我们连接到我们遇到的大多数本地网络。每个网络适配器通常由网络接口​​控制器(NIC) 制造商分配一个唯一的 mac 地址。 二. 如何查找mac地址 1.点击网络和Internet设置 2.点击WLAN点击硬件属性 3.即可查看mac地址

css基础(1)

CSS CCS Syntax CSS 规则由选择器和声明块组成。 CSS选择器 CSS选择器用于查找想要设置样式的HTML元素 一般选择器分为五类 Simple selectors (select elements based on name, id, class) 简单选择器(根据名称、id、类选择元素) //页面上的所有 …

【漏洞复现】某赛通 电子文档安全管理系统 多个接口存在远程命令执行漏洞

免责声明: 本文内容旨在提供有关特定漏洞或安全漏洞的信息,以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步,并非出于任何恶意目的。阅读者应该明白,在利用本文提到的漏洞信息或进行相关测…

WPF学习(3) -- 控件模板

一、操作过程 二、代码 <Window x:Class"学习.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expressio…