首页 > 系统相关 >Linux文件权限

Linux文件权限

时间:2023-12-07 20:33:06浏览次数:32  
标签:文件 zhangsan Linux Test 权限 root localhost

一:基本权限UGO

权限对象:

u:属主(拥有者)

g:属组(拥有者同组)

o:其他人(其他用户)

特殊对象:a:所有人(u+g+o)

 

权限类型:

符号表示 数字表示 说明 符号表示 数字表示 说明
r 4 只读 rx 5 读和执行
w 2 只写 wx 3 写和执行
x 1 只执行 rwx 7 读、写和执行
rw 6 读和写 --- 0 无权限

 

 

 

 

 

 

设置文件属性与权限:

chown:修改文件属主、属组。

chgrp:修改文件属组。

chmod:修改文件权限。

 

二:基本权限ACL

 ACL与UGO的区别:

UGO基本权限:只能一个用户、一个组合、其他人这三个对象进行授权

ACL文件权限管理:设置不同用户,不同的基本权限(r、w、x),对象数量不同

总结:UGO是针对用户、组、其他人三个对象的文件授权,ACL是可以针对指定用户指定组和其他人的文件授权。

 

语法:

setfacl    -m  u:用户或用户组:权限     文件                //给指定用户或组授权

getfacl     文件                                   //查看文件有哪些ACL权限

 

设置ACL权限:

[root@localhost ~]# getfacl /test/t1 //查看t1的ACL权限
getfacl: Removing leading '/' from absolute path names
# file: test/t1 //文件的位置
# owner: root //文件拥有者
# group: root //文件所属组
user::rw- //用户的权限
group::r-- //组的权限
other::rw- //其他人的权限

 

三:高级权限

 SUID:

让普通用户临时拥有该文件的属主的执行权限,suid权限只能应用在二进制可执行文件(命令)上,而且suid权限只能设置在属主位置上。

[root@localhost ~]# ll /etc/shadow #这个文件没有任何权限,只有root超级管理员才能修改
---------- 1 root root 1575 Oct 5 22:48 /etc/shadow
[root@localhost ~]# ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd #有个suid权限,这就说明了普通用户执行passwd命令时临时提权到root权限了,所以才有root权限才写到shadow文件

 

SGID:

sgid权限一般应用在目录上,当一个目录拥有sgid权限时,任何用户在该目录下创建的文件的属组都会继承该目录的属组。

[zhangsan@localhost ~]$ ll -d Test/
drwxrwxr-x 2 zhangsan nginx 6 Oct 13 20:44 Test/ #查看目录的权限,都是普通权限,属主是zhangsan,属组是nginx
[zhangsan@localhost ~]$ touch Test/file1 #创建一个file1文件
[zhangsan@localhost ~]$ ll Test/file1
-rw-rw-r-- 1 zhangsan zhangsan 0 Oct 13 20:47 Test/file1 #file1的的属主属组都是zhangsan
[zhangsan@localhost ~]$ rm -rf Test/file1 #先删除file1
[zhangsan@localhost ~]$ chmod 2755 Test/ #增加sgid权限
[zhangsan@localhost ~]$ ll -d Test/
drwxr-sr-x 2 zhangsan nginx 19 Oct 13 20:47 Test/ #sgid权限已经增加了,属组位置上有了一个s
[zhangsan@localhost ~]$ touch Test/file2 #重新创建一个file2文件
[zhangsan@localhost ~]$ mkdir Test/test #也创建一个目录
[zhangsan@localhost ~]$ ll Test/ #查看创建的文件和目录
total 0
-rw-rw-r-- 1 zhangsan nginx 0 Oct 13 20:59 file2 #属组都与Test目录的属组一样,这是因为Test目录具有sgid权限
drwxrwsr-x 2 zhangsan nginx 6 Oct 13 20:59 test
[zhangsan@localhost ~]$

 

STICKY:

sticky权限一般针对目录来设置,作用是只允该目录下的文件的创建者删除自己的创建的文件,不允许其他人删除文件。(root用户除外,因为root用户是超级管理员),而且sticky权限只能设置在other位置上。

[root@localhost /]# mkdir /test_tmp #创建目录
[root@localhost /]# chmod 777 test_tmp/ #设置权限
[zhangsan@localhost /]$ ll test_tmp/ -d #查看test_tmp的权限
drwxrwxrwx 2 root root 6 Oct 6 17:28 test_tmp/
[zhangsan@localhost test_tmp]$ echo "fsdsdsd" >> zhangsan.txt #张三用户登录并创建一个zhangsan.txt文件
[lisi@localhost test_tmp]$ echo "fsdsdsd" >> lisi.txt #李四用户登录并创建一个lisi.txt文件
[zhangsan@localhost test_tmp]$ rm -rf lisi.txt #张三用户删除李四的lisi.txt文件,正常删除
[lisi@localhost test_tmp]$ rm -rf zhangsan.txt #李四用户删除张三的zhangsan.txt文件,正常删除

标签:文件,zhangsan,Linux,Test,权限,root,localhost
From: https://www.cnblogs.com/LSY0314/p/17883886.html

相关文章

  • npm、yarn、pnpm 如何删除缓存文件?
    1.简介在前端工程化的环境下,频繁的安装、更新、移除依赖,总会产生一些不活跃的npm依赖包,一直隐藏在某个角落里。2.NPM2.1.查看缓存路径npmconfiggetcache2.2.删除缓存npmcacheclean--force3.YARN3.1.查看缓存路径yarncachedir3.2.删除缓存yarncacheclean......
  • 定时备份lunix文件夹
    inio需要备份,只设置备份文件夹备份,因为minio有挂载文件,所以只要把挂载文件夹备份就好了;备份脚本如下:LOG_FILE="/data/backup/minio/logfile.log"write_log(){localmessage=$1echo"$(date+"%Y-%m-%d%H:%M:%S")-$message">>"$LOG_FILE"}write_......
  • 使用jsfpd截图并上传到文件服务器
    需求将网页上的html表单,截图并生成pdf,通过blob上传到文件服务器//获取表单元素domconstel=document.getElementById('open-reply_form');constheight=el.clientHeight;//截图,获取img图像html2canvas(el).then((canvas)=>{l......
  • 在使用openpyxl库操作带有合并单元格的Excel文件时,插入新的行或列可能会导致后面的数
    在使用openpyxl库操作带有合并单元格的Excel文件时,插入新的行或列可能会导致后面的数据错乱。这是因为openpyxl库在插入或删除行或列时,不会自动更新合并单元格的范围1。解决这个问题的一种方法是在插入新的行或列之前,先保存所有合并单元格的范围,然后在插入新的行或列之后,根据......
  • Linux端ALSA音频处理库
    1.项目介绍项目Github地址:https://github.com/alsa-project/alsa-libALSA(AdvancedLinuxSoundArchitecture)是Linux操作系统上的音频处理框架。它提供了对音频设备的抽象和控制,使应用程序能够与音频硬件进行交互。ALSA库是ALSA项目的一部分,它为开发者提供了一组API(应用程序编......
  • does not have a SELinux domain defined. android 开机启动
    问题:dmesg [  46.089306]init:Servicemysvc2 doesnothaveaSELinuxdomaindefined. servicemysvc1/system/vendor/bin/app1classmainuserrootgrouprootsystemreadprocdisabledwritepid/dev/cpuset/foreground/tasksservicemysvc2......
  • java打包好的jar包在Linux服务器上指定端口并后台运行命令
    前提条件:a.已经在Linux服务器上安装了java环境。b.切换到jar包所在的目录下。c.运行方式为:java-jar运行。举例说明:包名  运行端口test.jar  8080命令如下:java-jar-Dserver.port=8080test.jar&>test.out&1解释:1.表示将test.jar这个jar包运行在8080端口(前提是端口......
  • vue2项目打包dist文件后如何部署访问(本地部署和网络部署)
    1.本地部署前提:1.注意端口的占用,防火墙的放行;2.注意后端服务的请求链接3.记得不要关闭运行4.记得elementui的引入要放在vue版本导入的后面1.1.新建一个文件夹打开之后打开终端编辑1.2.npmiexpress-s是用于在Node.js项目中安装Express框架的命令编辑1.3.将项目打包好的dist......
  • 苹果ipa文件为什么需要签名才能上架?有什么方法可以绕开签名么?
    Hello同学们好,我是咕噜签名分发可爱多,之前跟大家分享过很多关于苹果签名以及几种签名方式的内容。今天主要跟大家聊一聊为什么苹果需要签名才能上架。近年来,苹果设备的普及程度逐渐加深,随之而来的是越来越多的应用程序涌入了苹果的应用商店。为了保障用户设备和数据的安全,以及减少......
  • java使用ftp连接linux处理文件
    1、Maven依赖<!--FTP使用包--><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>3.6</version></dependency>......