在linux中,除了设置文件拥有者,群组以及其它用户的读,写,执行权限外,还有一些特别的权限设置。本文主要就SUID,SGID和SBIT以及隐藏属性的设置进行学习记录。

1. SUID,SGID,SBIT

1.1 SUID

SUID是针对一个可执行文件进行设置,当一个可执行文件设置了SUID位,则所有者的x位会变成s。此时,当一个能够执行该文件的用户执行它时,将获得该文件所有者的权限直至执行结束。

1.2 SGID

当作用于普通文件时,SGID与SUID类似,将所有者换为群组即可。当作用于目录时,若一个能够进入该目录的用户在该目录下新建的文件或目录所属的群组为该目录的群组。设施SGID的文件的群组x位变为s。

1.3 SBIT

SBIT仅对文件夹作用。当一个文件夹设置了SBIT时,该目录下新建的文件仅能有文件所有者和root删除。设置该位后,文件的其它用户x位变为t。

1.4 设置方法

可以将上述三者分别视为4,2,1三个数字相加作为文件权限的第一位,也可以在chmod后用(u|g)(+|-)s或o(+|-)t来设置。

2. 隐藏属性设置

每个文件还有隐藏属性可以设置和查看,chattr设置隐藏属性,语法如下:

chattr [+|-|=]Sai 文件名

分别用来对文件增加,删除或者设定隐藏属性,S表示文件需要同步写入磁盘,a表示文件仅能执行增加内容的操作,i表示锁定文件不能进行任何操作。

a和i仅能由root进行设置,且设置a或i的文件不能删除(包括root)。

通过lsattr可以查看隐藏属性:

lsattr 文件名

3. 小结

本文介绍的权限设置主要针对文件,而上一篇中的ACL控制主要针对用户和群组来设置权限,不应混淆。

转载于:https://www.cnblogs.com/knd2/archive/2013/03/04/2943393.html

linux中的特殊文件权限相关推荐

  1. linux中/usr下文件权限修改setuid导致的问题

    2019独角兽企业重金招聘Python工程师标准>>> 在Ubuntu系统中因为一些原因我使用如下命令修改了/usr目录的拥有者权限: chown -R root:root /usr ...

  2. linux 中 chmod设置文件权限的命令

    chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限. 一般是三个数字: 第一个数字表示文件所有者的权限(User u) 第二个数字表示与文件所有者同属一个用户组的其他用户 ...

  3. Linux中一切皆文件

    Linux中一切皆文件 1. Linux中所有内容都是以文件的形式保存和管理,即:一切皆文件. 普通文件是文件. 目录(在win下称为文件夹)是文件. 硬件设备(键盘.硬盘.打印机)是文件. 套接字( ...

  4. linux中/etc/passwd文件与/etc/shadow文件解析

    1. /etc/passwd文件 1.1 /etc/passwd文件内容格式 用户名: 密码 : uid  : gid :用户描述:主目录:登陆shell 举个例子: #cat /etc/passwd ...

  5. 如何在 Linux 中挂载 ISO 文件

    在 Windows 中,我们常常使用 Daemon Tools 和 Virtual CloneDrive 等虚拟光驱软件挂载光盘镜像,下面我们一起来学习在 Linux 中如何挂载 ISO 文件. 在 ...

  6. linux中一些特殊的权限(setuid/setgid/sticky)

    linux中一些特殊的权限(setuid/setgid/sticky) 问题描述 今天在测试文件系统的时候,发现新创建的文件系统不能使用sudo命令,具体表现如下: sudo su sudo: /us ...

  7. 【Linux后端开发必问】操作系统系列(Linux常用命令、文件权限修改、静态与动态库的制作)

    目录 一.说说常用的Linux命令 二.文件权限如何修改 三.静态库和动态库的制作 1.静态库 2.动态库的制作 3.两者优势对比 一.说说常用的Linux命令 1.cd命令:用于切换当前目录: 2. ...

  8. 本机修改虚拟机linux中的代码文件

    最近在研究swoole这个框架,好不容易装了一个swoole,为了开发方面,需要早宿主机和虚拟机之间文件共享,一开始使用vmware tool可以实现共享,但是只能在linux中看到win共享的文件, ...

  9. 如何恢复Linux中的误删文件

    写在前面的话 在开始教程之前我有必要提醒大家,使用窗口管理器(GUI)删除文件和使用命令行工具(CLI)删除文件这两种方法之间是有区别的. 当我们使用窗口管理器来删除文件时,我们仅仅只是将文件从某个目 ...

最新文章

  1. Symmetric Pairs(连接、分组,聚合)
  2. 使用System Center DPM 2012 SP1保护企业关键数据(二)备份及恢复AD
  3. 肿瘤细胞信号转导: 肿瘤治疗的靶向信号通路 PDF
  4. LeetCode初级算法(数组)解答
  5. 【Kafka】Failed to send data to Kafka: Expiring 30 record(s) for xxx 732453 ms has passed since last a
  6. C++/CLI思辨录之再谈继承
  7. python爬虫课程设计摘要_爬虫课程设计(爬虫代码)
  8. UniWebView插件的使用
  9. Evernote推出实体笔记本Evernote Business Notebook,支持搜索手写笔记,用实体便签将笔记同步到Evernote上的相应分类
  10. 【网络工程】什么是7类网线7类线与超6类线的区别以及它的应用场景
  11. 判断矩形相似C语言,C++判断矩形相交的方法
  12. 芜湖计算机专业学校录取分数线,芜湖市各类高中2018年中考录取分数线是多少...
  13. 群晖docker火狐_群晖docker安装chrome浏览器_动漫台
  14. 地图处理方法-判断一个点是否在某个区域内
  15. c语言26字母顺序表秘文编辑,**《 C语言程序设计(第2版)》 读书笔记**
  16. 计算机网络设备网关属于固定资产,财政六大类常用固定资产分类及代码
  17. GreenPlum 大数据平台--运维(三)
  18. Greenplum——基于Greenplum-Spark Connector的Spark脚本开发及遇到的坑
  19. MySQL备份恢复之mysqldump备份_SQL语句模式
  20. hdoj 1864 最大报销额 【01背包】||【dfs】

热门文章

  1. iptables高级应用实例
  2. 不同曲线设置标签_带动态标签的面积曲线图
  3. 实现原理 扫描枪_条码扫描枪工作原理
  4. r中gglot怎么组合多张图_最终版本Science级组合图表绘制
  5. 三条中线分的六个三角形_初中数学——与三角形有关的线段
  6. PostgreSQL大版本升级(pg_upgrade)11.7升12.2
  7. python是开源语言吗c,属于新十年的开发语言:Go语言可能很快会取代Python
  8. java netbeans桌面_netbeans创建桌面应用程序教程
  9. java 常量池溢出_Java方法区和运行时常量池溢出问题分析(转)
  10. c语言变量定义数组,C语言中数组的定义和使用