细数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位表示 ...
随机推荐
- linux 标注主机别名
vi /etc/bashrc # Turn on checkwinsize shopt -s checkwinsize [ "$PS1" = "\\s-\\v\\\$ ...
- IP的面向无连接状态
ip是面向于无连接的状态,在发包前,不需要建立与对端目标地址之间的连接. ip采用面向无连接的原因? 面向连接比无连接复杂,此外每次通信前都要事先建立连接,会降低处理速度.需要有连接时可以委托上一层提 ...
- springBoot生成日志文件
一.安装lombok 说明: 安装bomlok后model可以不用写get.set方法,slf4j日志直接使用log打印 1. Maven Repository中下载lombok.jar 2. 将lo ...
- VisualStudioCode中用dotnet命令创建多个ASP.NET Core 项目、类库、控制台程序,并添加应用间的引用
一.准备工作 首先安装VisualStudioCode并且可以使用. 1.首先新创建空的MyApps文件夹,作为项目主目录,下面将在这个文件夹中创建多个web应用程序.类型.控制台程序等. 2.打开V ...
- Redis的持久化之AOF方式
AOF方式:将以日志,记录每一个操作 优势:安全性相对RDB方式高很多: 劣势:效率相对RDB方式低很多: 配置: [root@localhost redis]# vi redis.conf 编辑re ...
- sqlplus用户登录
1.运行SQLPLUS工具 C:\Users\wd-pc>sqlplus 2.直接进入SQLPLUS命令提示符 C:\Users\wd-pc>sqlplus /nolog 3.以OS身份连 ...
- 搭建MHA测试
搭建MHA: 手工切换: masterha_master_switch --conf=/etc/masterha/app1.cnf --master_state=alive --new_maste ...
- selenium常用操作
1.访问页面获得源码 browser.get(url) browser.page_source 2.查找单个元素:返回一个标签 find_element_by_id ==>id选择器 find ...
- js 获取鼠标的手势方向角度
需要获取鼠标的移动角度 1.mousedown 确定起始点 2.mousemove 确立相关点 3.先计算两点的斜率,然后根据三角函数和反三角函数.转换为角度 <!DOCTYPE html> ...
- python-soap接口请求
一.环境准备 方法一: >pip3 install suds >pip3 install suds-jurko 因在线安装报错,所以直接下载安装包. 方法二: 1.suds库下载地址:ht ...