普通权限

普通权限使用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的文件权限的更多相关文章

  1. linux初学者-文件权限

    linux初学者-文件权限 lunix系统都是以文件的形式存在,自然而然的就会要求不同的用户拥有不同的权限,这也是系统能够运行的根本保证,下文将对文件的权限管理进行简要的介绍. 1.文件属性的查看 - ...

  2. 全面解析Linux数字文件权限

    全面解析Linux数字文件权限 来源:   时间:2013-09-04 20:35:13   阅读数:11433 分享到:0 [导读] 在刚开始接触Linux时对于文件权限的理解并不是很透彻,这里详细 ...

  3. [转]Linux中文件权限目录权限的意义及权限对文件目录的意义

    转自:http://www.jb51.net/article/77458.htm linux中目录与文件权限的意义 一.文件权限的意义 r:可以读这个文件的具体内容: w:可以编辑这个文件的内容,包括 ...

  4. 第六章、Linux 的文件权限与目录配置

    第六章.Linux 的文件权限与目录配置 1. 使用者与群组 2. Linux文件权限概念 2.1 Linux文件属性 2.2 如何改变文件属性与权限: chgrp, chown, chmod 2.3 ...

  5. Linux的文件权限

    1 文件权限的表示 (1)字母表示法 Linux中所有文件(普通文件.目录文件.字符特殊文件.块特殊文件.管道或FIFO.符号链接.套接字)都有9个权限,如下图所示: -rw-rw-r--就是文件a的 ...

  6. linux的文件权限小结

    对于初接触Linux的朋友来说,会有各种不习惯和各种昏头,文件的权限就很让人不知所措. ls命令以及字段含义 比如我们列出当前目录文件: 我们来看下上述大致含义: 第1行显示的信息: 总用量(tota ...

  7. 【Linux】文件权限

    Linux的每一个文件都跟多种类型相关联.在这些权限中,我们通常需要和三类权限打交道(用户.用户组以及其他实体). 1.文件权限查看ls –l Linux:/qinys # ls -l total 6 ...

  8. Linux的文件权限(简单易懂)

    学习这个章节,必须明白以下三个概念: 1.所有者 2.所属组 3.其他人 明白这三个概念后,接下来就学习文件的属性,那么文件的属性有什么呢?如何查看文件的属性? 在命令行下,执行 ls -l 可以得到 ...

  9. linux的文件权限分析

    windows中,文件的类型是根据后缀名来确定的,但是linux则是根据标志来确定的,查看一个文件的权限的命令是 ls -l #查看文件的权限 文件的权限结构如图: ①第一部分:10个字符(第1位表示 ...

随机推荐

  1. 汇编入门——使用DOSBox写一个HelloWorld以及相关软件安装

    0.0.0) 在D盘建立一个ASM文件夹 0.0.1) 放入所需要的文件 1所标示的红色框为必须要存在的文件,要处理汇编文件.百度网盘中下载. 2自己编写的汇编(asm)文件. 3编译汇编自己生成的文 ...

  2. dtFindNearestPolyQuery :: process

    dtFindNearestPolyQuery :: process(const dtMeshTile* tile, dtPoly** polys, dtPolyRef* refs, int count ...

  3. java_基础_abstract抽象关键字

    java中,当父类中的某些东西不确定时,可以用abstract关键字将此类变成抽象类(也就是说类并不完整,有些东西要等待子类去实现) 注意事项: 1.抽象类中的抽象方法不能有实体,格式如下 publi ...

  4. Unicode编码范围

  5. Python extend()方法--list

    描述 extend()方法:在列表末尾追加可迭代对象中的元素. 语法 语法格式:list.extend(iterable) 参数 iterable:可迭代的对象,这里的对象可以是字符串.列表.元组.字 ...

  6. Linux 文件系统下的压缩、解压命令

    参考文献:Linux下的tar压缩解压缩命令详解 - 智昕 - 博客园

  7. JDK1.8 StampedLock: 解决ReentrantReadWriteLock在读多写少情况下,写线程饥饿问题

    ReentrantReadWriteLock 在沒有任何读写锁时,才可以取得写入锁,这可用于实现了悲观读取(Pessimistic Reading), 即如果执行中进行读取时,经常可能有另一执行要写入 ...

  8. C# 字典Dictionary

    Dictionary<TKey, TValue> 泛型类提供了从一组键到一组值的映射.通过键来检索值的速度是非常快的,接近于 O(1),这是因为 Dictionary<TKey, T ...

  9. 时间、日历(time、calendar、datatime)

    import time import calendar import datatime #获取代码运行的时间差 start = time.time() end = time.time() print( ...

  10. 【Solution】idea中dtd没有找到

    问题: idea中dtd没有找到 解决: 一般是相关依赖没有加进来,把相关依赖添加进来即可 在pom中添加依赖