细数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位表示 ...
随机推荐
- SourceTree安装跳过登录
安装 SourceTree 时,需要使用atlassian授权,因为各种原因无法完成授权,现提供跳过 atlassian账号 授权方法. 安装之后,转到用户本地文件夹下的 SourceTree 目录, ...
- 数据库 case when then 的用法 (举个栗子~~~)
select a.TradeType,a.TradeState,a.Pname,a.OutTradeNo,a.*, (CASE a.TradeType when '1' then '充值' when ...
- git 环境搭建
1. 生成ssh-key 并上传到 git服务器上 #cd $HOME #ssh-keygen -t rsa -C "youremail@example.com" -t 是类型,- ...
- leetcode 之 two sum (easy)c++
1.数组的长度 length() .容器vector长度 size() .容器vector vector是C++标准模板库中的部分内容,它是一个多功能的,能够操作多种数据结构和算法的模板类和函数库. ...
- face++静态库转为动态库
前言 苹果商店上架应用,有规定支持iOS8.0以上的iPA可执行文件的大小不能超过60M. face++提供过来的是静态库,会导致苹果上架的ipa的包增加1.5M左右.而刚好我们的APP包Mach-O ...
- supervise守护进程
通过二进制supervise文件可以直接对进程进行守护 ./supervise -f 要守护的程序 -p 守护信息存储位置 例如: ./supervise -f http_server -p s ...
- Summary: Calculate average where sum exceed double limits
What is a good solution for calculating an average where the sum of all values exceeds a double's li ...
- linux ping: unknown host www.baidu.com
在虚拟机中使用CentOS6.5时,ping www.baidu.com出现报错信息:“ping: unknown hostwww.baidu.com”,虚拟机和物理机网络连接是NAT方式,物理机访问 ...
- Click One客户端安装后将安装目录删除,再从服务器下载安装无法安装解决办法
报错信息: 平台版本信息 Windows : 6.1.7601.65536 (Win32NT) Common Language Runtime : 4.0.30319.42000 System.Dep ...
- package.json中 npm依赖包版本前的符号的意义
版本的格式 major.minor.patch 主版本号.次版本号.修补版本号 ———————————————————— patch:修复bug,兼容老版本 minor:新增功能,兼容老版本 majo ...