Linux系统文件与目录权限管理

Linux文件目录权限管理

一、Linux文件属性及权限

1、Linux文件及目录权限及属性说明

(1)权限及属性说明

(2)文件权限说明

   

  三种权限说明:r 读  read

                    w 写  write

                    x 执行 excute

2、修改文件属主及属组

(1)利用chown修改文件的属主及属组

     用法:

    chown 用户名 dayi123 修改文件的属主

       chown 用户名:组名 dayi123  修改文件的属主和属组

       chown 用户名.组名 dayi123  修改文件的属主和属组

       chown       .组名 dayi123  修改文件的属组

       chown       :组名 dayi123  修改文件的属组

     参数:-R 用户名:组名 目录 递归修改目录的权限以及目录下所有的文件的权限

     例:修改文件dayi123的属主为test,属组为dayi123

         chown test:dayi123 dayi123

(2)使用chgrp修改文件的属组

     例:修改文件dayi123的属组为test

          chgrp test dayi123

3、修改文件及目录的权限

(1)文件与目录的权限说明

    1)文件权限:

   r去看文件里面内容的权限

   w 可以修改文件的内容

   x 二进制程序以及脚本需要发起系统调用 去运行一个结果2)目录权限:

2)目录权限

   r 是否可以查看目录里面的内容  有r权限的话 可以使用ls -l

   w 在目录里面是否可以创建文件或者目录和是否可以删除文件或者目录

   x 进入目录权限

(2)、改变文件或目录的权限:

    1)用法:chown [参数] 权限 文件或目录

        常用参数:-R:递归处理,将指定目录下的所有文件及子目录一并处理;

    2)利用数字的形式改变文件权限:

       三种权限所代表的的数字分别为:r:4 w:2 x:1

        修改方法为:chmod xxx(分别代表三种权限值) 文件名称或者目录名称

       例:修改文件dayi123的权限为rwxr-xr-x

              chmod 755 dayi123

       例:修改文件dayi123的权限为rwx------

              chmod 700 dayi123

    3)用符号改变文件权限

       符号类型改变文件权限,执行格式:

命令

用户

改变权限符号

权限

 

 

chmod

u(属主)

+

-

=

r

w

x

 

文件或目录

g (属组)

o(其他人)

a(所有人)

       例:设置文件dayi123.txt权限为rwxrwxrwx

               chmod a=rwx dayi123.txt

       例:将文件dayi123.txt权限设置为rwxr-xr-x

               chmod g-w,o-w dayi123.txt

       例:将文件install.log权限设置为rwxr-xr—

               chmod a=rwx,g=rx,o=r install.log

       例:去掉文件install.log属组的执行权限及其他人的读权限

               chmod g-x,a-r install.log

(3)文件权限掩码umask

1)作用:设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。

2)用法: umask  查看系统默认的掩码

         umask  以字符的形式显示当前系统的掩码

         umask u=, g=w, o=rwx  设置掩码为027(与实际权限相反)临时生效,若需要永久生效需要修改配置文件/etc/bashrc 文件(全局生效) ~/.bashrc (仅对当前用户生效)

二、Linux文件系统的特殊权限SUID、SGID、SBIT

1、SUID权限

(1)功能:

    1)只有可执行的二进制程序才能设定SUID权限

    2)命令执行者要对该程序拥有x(执行)的权限

    3)命令执行者在执行该程序时获得该程序文件属主的身份

    4)setuid权限只在该程序执行的过程中有效

(2)系统中常见的suid权限

    1)passwd命令拥有suid权限,所以普通用户可以修改自己的密码

    2)cat命令没有suid权限,所以普通用户不能查看/etc/passed文件

(3)SETUID权限的设定与取消

    1)给文件设定SUID权限(4代表SUID)

  chmod 4755 dayi123.txt

  chmod u+s dayi123.txt

    2) 取消SUID全新啊

  chmod 755 dayi123.txt

  chmod u-s dayi123.txt

2、SGID权限

 (1)功能:

    1)只有可执行的二进制程序才能设置SGID权限

    2)命令执行者要对改程序拥有x(执行)的权限

    3)命令执行者在执行程序的时候,组身份升级为该程序文件的属组

    4)SETGID权限只能在该程序执行过程中有效

(2)对目录的作用:

    1)普通用户对此目录拥有r和x权限,才能进入此目录

    2)普通用户在此目录中的有效组会变成此目录的属组

    3)若普通用户对此目录拥有w权限时,新建的文件的默认属组时这个属组

(3)设定与取消SetGid

    1)设定sgid:

  chmod 2755 dayi123

  chmod g+s dayi123

    2)取消sgid

  chmod 755 dayi123

  chmod g-s dayi123

3、黏滞位sticky

(1)黏滞位的作用:

    1)黏滞位只对目录有效

    2)目录赋予了黏滞位, root可以删除所有文件,普通用户只能删除自己建立的文件,不能删除其他用户建立的文件

(2)设置与取消黏滞位

    1)设置黏滞位:

       Chmod 1755 dayi123(目录名)

       Chmod o+t dayi123(目录名)

    2)取消黏滞位

       Chmod 755 dayi123(目录名)

       Chmod o-t dayi123(目录名)

三、文件的ACL权限

1、ACL 作用

2、查看与设定ACL权限

(1)查看acl权限

      Getfacl 文件名

     例如:查看/data/Operation目录acl权限

[root@localhost data]# getfacl /data/Operation/

getfacl: Removing leading '/' from absolute path names

# file: data/Operation/

# owner: root

# group: root

user::rwx

user:Test:r--

user:Program:r--

user:Operation:r--

group::r-x

mask::r-x

other::r-x

(2)设定ACL权限

    1)语法 setfacl [参数] 文件名

    2)参数:-m 设定acl权限

             -x 删除指定的acl权限

             -b 删除所有的acl权限

             -d 设定默认的aclq权限

             -k 删除默认的acl权限

             -R 递归设定acl权限

    3)给用户设定acl权限

setfacl –m u: setfacl -m u:Operation:r /data/Operation/

    4)给用户组设定acl权限

setfacl –m u: setfacl -m g:dayi123:rwx /data/Operation/

 

转载于:https://www.cnblogs.com/dayi123/p/6657289.html

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

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

相关文章

一个文本分词程序

WordMap类从分词库中读入分词 将分词存入unordered_map<std::string, int> 中 #pragma once #include<istream> #include<unordered_map> #include<string> #include<ctime> class WordMap { public:WordMap(const std::string& filename);…

scala学习手记28 - Execute Around模式

我们访问资源需要关注对资源的锁定、对资源的申请和释放&#xff0c;还有考虑可能遇到的各种异常。这些事项本身与代码的逻辑操作无关&#xff0c;但我们不能遗漏。也就是说进入方法时获取资源&#xff0c;退出方法时释放资源。这种处理就进入了Execute Around模式的范畴。 在s…

【时序数据库InfluxDB】Windows环境下配置InfluxDB+数据可视化,以及使用 C#进行简单操作的代码实例...

前言&#xff1a;如题。直接上手撸&#xff0c;附带各种截图&#xff0c;就不做介绍了。1、influxDB的官网下载地址 https://portal.influxdata.com/downloads/打开以后&#xff0c;如下图所示&#xff0c;可以选择版本号&#xff0c;以及平台。此处咱们选择windows平台。不过…

官宣 微软跨平台 UI 框架 .NET MAUI 6 正式发布

微软宣布 .NET MAUI 已正式 GA。 .NET MAUI (.NET Multi-platform App UI) 是一个跨平台 UI 框架&#xff08;前身是 Xamarin.Forms&#xff09;&#xff0c;用于通过 C# 和 XAML 创建原生移动和桌面应用。基于 .NET MAUI&#xff0c;开发者可在单个共享代码库中创建同时支持 A…

92. Reverse Linked List II

Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1->2->3->4->5->NULL, m 2 and n 4, return 1->4->3->2->5->NULL. Note:Given m, n satisfy the following condition:1 ≤ m ≤ n ≤ lengt…

Reset

在常用的代码中&#xff0c;我们使用AddForm.form.reset();或者AddForm.getForm().reset();来将FormPanel重置。 但是当页面增加和修改公用一个formpanel时&#xff0c;当先点击修改时&#xff0c;窗体修改显示出数据&#xff0c;关闭窗体后&#xff08;window.hide()&#xff…

《.NET物联网从零开始》系列

近日搞硬件网关时&#xff0c;那些残存的数电、模电和通信原理的记忆时常在脑海中萦绕&#xff1b;想起来多年前看张高兴的博客学会了.netcore树莓派进行物联网开发。使用dragonboard(龙板)搭载windows 10 iot系统&#xff0c;配合光电传感器和rfid实现了一个项目原型。碰巧逛g…

设计好接口的 36 个锦囊(原则)

目录 设计好接口的 36 个锦囊 | 接口参数校验 | 修改老接口时&#xff0c;注意接口的兼容性 | 设计接口时&#xff0c;充分考虑接口的可扩展性 | 接口考虑是否需要防重处理 | 重点接口&#xff0c;考虑线程池隔离 | 调用第三方接口要考虑异常和超时处理 | 接口实现考虑…

嵌入式第11次实验

嵌入式软件设计第11次实验报告 学号&#xff1a;140201236 姓名&#xff1a;沈樟伟 组别&#xff1a;第2组 实验地点&#xff1a;D19 一、实验目的&#xff1a; 1、了解短信AT指令的使用方法。 2、掌握使用短信AT指令驱动SIM900A发送和接收短信的方…

Linux文件系统之df

df用于查看当前挂载的文件系统-a 查看所有的文件系统可以自己指定容量单位&#xff0c;-BM -BG 但是还是h的选项好用-i 查看inode的使用信息-l(L) 显示本地文件系统--output 可以指定管理员想要看的列--outputField_List可用的字段有source fstype itotal iused iavail ipcent …

普通老实人的生活

2019独角兽企业重金招聘Python工程师标准>>> 有一个朋友&#xff0c;他家有一套营业房&#xff0c;租给了两个年轻人&#xff0c;合同签订为半年&#xff0c;房租7000&#xff0c;合同到期当天&#xff0c;乙方一直没有联系甲方&#xff0c;说明续租或不续租&#x…

如何在 C# 中运行 Python 代码

前言Python是一门强大的编程语言。特别的是&#xff0c;它还具有众多出色的库&#xff08;例如numPy&#xff0c;sciPy&#xff0c;pandas等&#xff09;&#xff0c;可以显著简化和加速开发。因此&#xff0c;在解决某些问题时&#xff0c;通过 Python 实现可能是最理想的方式…

Ubuntu开机默认进入命令行模式/用户图形界面

一、开机默认进入命令行模式 # 输入命令&#xff1a; sudo systemctl set-default multi-user.target # 重启&#xff1a; reboot要进入图形界面&#xff0c;只需要输入命令startx 从图形界面切换回命令行&#xff1a;ctrlaltF7 二、开机默认进入图形用户界面 # 输入命令&…

数组查找数字5

public class Second {/*** param args*/public static void main(String[] args) {// TODO Auto-generated method stubint []a{2,1,3,4,5};for (int i0;i<a.length-1;i){if(a[i]!5){i;}}System.out.println("这组数里有5呢"); }} 转载于:https://www.cnblogs.co…

【QGIS入门实战精品教程】10.2:QGIS中DEM三维显示方法

QGIS中数字高程模型DEM三维显示方法。 参考阅读: 【ArcGIS Pro微课1000例】0006:ArcGIS Pro 2.5三维显示DEM数字高程模型 【ArcGIS Pro微课1000例】0005:ArcGIS Pro 2.5基于矢量数据制作拉伸三维地图案例 ArcGIS实验教程——实验二十六:ArcScene实现二维数据的三维显示 文章…

AUTH password

为redis服务请求设置一个密码。redis可以设置在客户端执行commands请求前需要通过密码验证。通过修改配置文件的requirepass就可以设置密码。 如果密码与配置文件里面设置的密码一致&#xff0c;服务端就会发会一个OK的状态码&#xff0c;接受客户端发送其他的请求命令&#xf…

基于Dubbo框架构建分布式服务(三)

我们将上面开发的服务提供方服务&#xff0c;部署到2个独立的节点上&#xff08;192.168.14.1和10.10.4.125&#xff09;&#xff0c;然后可以通过Dubbo管理中心查看对应服务的状况&#xff0c;如图所示&#xff1a; 上图中可以看出&#xff0c;该服务有两个独立的节点可以提供…

开篇-开启全新的.NET现代应用开发体验

01云原生技术底座畅想DaprMASA Framework研发管理研发协作平台&#xff1a;CI/CD、Application ManagementApplication Quota Management、Version Control、Troubleshooting、Testable网格应用程序管理API网关&#xff1a;Reverse Proxy、Traffic Control 、Security Strategy…

Ubuntu安装docker详细教程

1.安装 sudo apt-get update && sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && sudo add-apt-repository &qu…

java多线程编程——锁优化

并发环境下进行编程时&#xff0c;需要使用锁机制来同步多线程间的操作&#xff0c;保证共享资源的互斥访问。加锁会带来性能上的损坏&#xff0c;似乎是众所周知的事情。然而&#xff0c;加锁本身不会带来多少的性能消耗&#xff0c;性能主要是在线程的获取锁的过程。如果只有…