细数Linux的文件权限
普通权限
普通权限使用ls -l查看,最前面显示的即是,如:
# ls -l .txt
-rw-r--r-- 1 root root 8338 7月 19 20:27 1.txt
权限介绍:
| -/d/l/... | rwx | rwx | rwx |
| 1位 -表示文件,d表示文件夹,l表示链接文件 |
3位 文件所属用户的读、写、执行权限 |
3位 文件所属用户组的读、写、执行权限 |
3位 其他用户的读、写、执行权限 |
普通权限使用chmod修改。
特殊权限
特殊权限是为了解决这样的问题:系统用户的密码都存储在/etc/shadow中,该文件非常重要不能开放权限,但其他用户又必须要能修改自己的密码,于是给可信任的passwd命令增加特殊权限,这样其他用户使用passwd时将获得与所有者(root)一样的权限,执行完毕权限自然也收回;
看看passwd的权限:
# ls -l `which passwd`
-rwsr-xr-x. 1 root root 27832 6月 10 2014 /usr/bin/passwd
一个s代替了user上的x,这个即是特殊权限,有下面三种:
| 特殊权限 | 表现形式 | 命令操作 | 说明 |
| SUID | s代替user上的x | chmod u+s xxx | 只对二进制程序有效,执行时获得程序所有者的权限,执行完毕权限失效 |
| SGID | s代替group上的x | chmod g+s xxx |
对二进制程序有效,执行时获得程序所属用户组的权限,执行完毕权限失效 对文件夹有效,文件夹内获得所属用户组的权限,文件也都属于该用户组,方便统一管理 |
| SBIT | t代替other上的x | chmod o+t xxx |
也叫粘滞位,只对文件夹有效,文件夹内的文件只有其所有者或root才能删除、移动、重命名 /tmp就设置了该权限,故虽然其权限是777,但对其他用户的文件不能进行删除和修改 |
特殊权限同样有数字权限:SUID:4,SGID:2,SBIT:1,普通数字权限之前加一位表示特殊权限,如:chmod 2755 xxx
隐藏属性
明明有权限却无法删除,甚至root都无权操作,那么八成是隐藏属性在限制;
隐藏属性使用lsattr查看,如:
# lsattr 1.txt
-------------e-- 1.txt
可以看到只有一个e属性,,下面是一些常见的:
| a | 使文件只可被追加内容,只有root可设置 |
| A | 使文件被访问时atime不被修改 |
| c | 使文件在被读写时由内核进行压缩 |
| d | 使文件不会被dump备份 |
| D | 作用于文件夹,使其被修改时立即同步到磁盘上 |
| e | 表示文件以ext4 extents存储的,ext4上新建文件的默认属性,不可用chattr修改 |
| i | 使文件不能被修改、删除、重命名、链接,只有root可设置 |
隐藏属性使用chattr修改:
# touch 1.txt
# chattr +i 1.txt
# lsattr 1.txt
----i--------e-- 1.txt
# chattr -i 1.txt
# lsattr 1.txt
-------------e-- 1.txt
ACL权限
acl,即访问控制列表,可以针对某个用户或用户组进行单独的权限设置;
用root创建一个只有自己有权限的目录/tmp/acl,使用getfacl查看:
# cd /tmp
# mkdir -m 700 acl
# ls -l
drwx------ 2 root root 4096 7月 20 14:14 acl
# getfacl acl
# file: acl
# owner: root
# group: root
user::rwx
group::---
other::---
下面用setfacl配置读写权限给develop账号:
# setfacl -m u:develop:rwx acl/
# getfacl acl/
# file: acl/
# owner: root
# group: root
user::rwx
user:develop:rwx
group::---
mask::rwx
other::---
最终的权限 = user:develop & mask,这里结果就是rwx,develop账号已经有了/tmp/acl目录的rwx权限;
删除acl权限:
# setfacl -b acl/
# getfacl acl/
# file: acl/
# owner: root
# group: root
user::rwx
group::---
other::---
over
细数Linux的文件权限的更多相关文章
- linux初学者-文件权限
linux初学者-文件权限 lunix系统都是以文件的形式存在,自然而然的就会要求不同的用户拥有不同的权限,这也是系统能够运行的根本保证,下文将对文件的权限管理进行简要的介绍. 1.文件属性的查看 - ...
- 全面解析Linux数字文件权限
全面解析Linux数字文件权限 来源: 时间:2013-09-04 20:35:13 阅读数:11433 分享到:0 [导读] 在刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细 ...
- [转]Linux中文件权限目录权限的意义及权限对文件目录的意义
转自:http://www.jb51.net/article/77458.htm linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括 ...
- 第六章、Linux 的文件权限与目录配置
第六章.Linux 的文件权限与目录配置 1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 ...
- Linux的文件权限
1 文件权限的表示 (1)字母表示法 Linux中所有文件(普通文件.目录文件.字符特殊文件.块特殊文件.管道或FIFO.符号链接.套接字)都有9个权限,如下图所示: -rw-rw-r--就是文件a的 ...
- linux的文件权限小结
对于初接触Linux的朋友来说,会有各种不习惯和各种昏头,文件的权限就很让人不知所措. ls命令以及字段含义 比如我们列出当前目录文件: 我们来看下上述大致含义: 第1行显示的信息: 总用量(tota ...
- 【Linux】文件权限
Linux的每一个文件都跟多种类型相关联.在这些权限中,我们通常需要和三类权限打交道(用户.用户组以及其他实体). 1.文件权限查看ls –l Linux:/qinys # ls -l total 6 ...
- Linux的文件权限(简单易懂)
学习这个章节,必须明白以下三个概念: 1.所有者 2.所属组 3.其他人 明白这三个概念后,接下来就学习文件的属性,那么文件的属性有什么呢?如何查看文件的属性? 在命令行下,执行 ls -l 可以得到 ...
- linux的文件权限分析
windows中,文件的类型是根据后缀名来确定的,但是linux则是根据标志来确定的,查看一个文件的权限的命令是 ls -l #查看文件的权限 文件的权限结构如图: ①第一部分:10个字符(第1位表示 ...
随机推荐
- init();
<script language="javascript" type="text/javascript">window.onload = funct ...
- RxSwift 介绍
RxSwift 介绍 中文文档 https://beeth0ven.github.io/RxSwift-Chinese-Documentation/ https://medium.com/@DianQ ...
- 2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165317 Exp2 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 下载免费应用的时候会有绑定木马. 浏览某些网页时会有内 ...
- LeetCode 122 Best Time to Buy and Sell Stock II 解题报告
题目要求 Say you have an array for which the ith element is the price of a given stock on day i. Design ...
- node js 爬虫爬取静态页面,
先打一个简单的通用框子 //根据爬取网页的协议 引入对应的协议, http||https var http = require('https'); //引入cheerio 简单点讲就是node中的jq ...
- iPhone手机屏幕尺寸(分辨率)
第一代iPhone2G屏幕为3.5英吋,分辨率为320*480像素,比例为3:2. 第二代iPhone3G屏幕为3.5英吋,分辨率为320*480像素,比例为3:2. 第三代iPhone3GS屏幕为3 ...
- 从零开始一起学习SLAM | 点云到网格的进化
点击公众号"计算机视觉life"关注,置顶星标更快接收消息! 本文编程练习框架及数据获取方法见文末获取方式 菜单栏点击"知识星球"查看「从零开始学习SLAM」一 ...
- PHP fwrite 函数:将字符串写入文件(追加与换行)
PHP fwrite() fwrite() 函数用于向文件写入字符串,成功返回写入的字符数,否则返回 FALSE . 语法: int fwrite( resource handle, string s ...
- jquery判断字符长度 数字英文算1字符 汉字算2字符
<input type="text" maxlength="25" oninput="textlength(this)"> &l ...
- jquery on()方法重复绑定解决方法
最近再一次项目中发现 不刷新页面的情况下使用on()方法绑定事件会出现重复执行的问题,意思就是说点击一次会绑定一次...点击n次会绑定n次,执行起来是以你绑定的次数为准,绑定了n次就会执行n次 解决办 ...