对于文件系统权限,我们前面已经讲解了一部分,这里就不在重复了。

1.修改文件权限有两种,一种是数字、一种是字母 (chmod 的修改只能是属主或者root)

数字:

修改目录权限和目录内所有文件的权限

字母:

2.修改文件属性的关系(其中修改组chgrp=chown  .组)

这里有两点要注意:

1)如果一个文件是可执行文件,并且属主或者root对于这个文件只有可执行权限,那么可以通过sh命令进行执行

2)  对于往文件里面写内容,root和属主都可以在没有可写权限的情况下写入的,只要强制保存就可以了。

3.对于删除一个文件,是要看它的上一级目录的权限的,删除的是文件名,而文件名是在上一级目录中,这和找一个文件是一个道理,都是从/开始的,而文件名在上一级目录中,所以删除一个文件本身和文件的权限没有关系和上一级目录的权限有关系,且必须是写的权限。(w写的权限,可以删除文件,可以创造文件)

4、创建文件和文件夹的权限,默认是644和755,是通过umask控制的,在生产中这种权限是相对安全的,所以尽量不要修改。所以这里知道下就可以了。

如图:创建newdir和newfile,则为644和755

在/etc/profile中,定义了

如果修改了,记得要更新/etc/profile。可以在此文件夹中修改,也可以通过umask修改。那么有什么规律呢?

针对目录:我们认为最大权限是777,根据umask值相减,就是默认创建目录的权限,如图:777-022=755 权限

针对文件:我们认为最大权限是666,根据umask值相减,就是牧人创建文件的权限,如图:666-022=644权限,但是,如果umask有一个为奇数的话,那么计算后的值应该在该奇数位上+1.

另外/etc/login.defs文件管理者家目录的文件权限,保持每个用户的家目录独立性,不让相互串门

  5.linux的特殊权限:

除过9位基础权限外,还有3个特殊的权限。

setuid:

1)在属主对应的权限位上的x位有s就表示setuid权限,即suid。如果在这个x位置上没有s的就是S

2)setuid位是让普通用户可以以root(或者其他)用户的角色运行只有root(或其他)账号才能运行程序或命令。

所以以上都是对命令添加的,都是在二进制文件上添加的,且二级制文件具有x权限,并且此命令在执行过程中生效。

如下,删除一个文件:

文件的上级目录权限:

文件的权限:

修改命令:

所以如果用另外一个用户删除的话,有3个解决方法:

比如test用户删除djw.sh文件:

1)sudo,授权用户test具有删除命令的权限

2)修改文件上级目录的权限,这样其他人就可以删除文件了

3)修改命令的权限,如上/bin/rm权限就是S了,这样当test执行命令的时候,不论是哪个文件,其删除的话,都具有该命令属主的权限,如上就是具有root的权限,才能删除的。

6.如何查看linux的suid的命令:

这是一个双刃剑的命令,比较危险的命令(对于linux的优化,可以优化这个命令)

、 sgid:与suid不同的是,sgid既可以针对文件也可以针对目录设置。(了解中的了解)

1)文件: sgid仅对二进制命令程序有效,且要有x权限,执行的用户可以获得该命令执行期间所属组的权限

这里要注意的是修改的话是2开头,如2755权限

2)目录:可以创建一个目录,设置sgid,那么用户再此目录下创建的文件和目录具有和此目录相同的用户组设置(目录所属组是什么,里面创建的文件就是什么)

粘贴位:如果一个目录设置成粘贴位,这个目录本身和目录内容都只有这个目录的属主或者root才能删除。/tmp 目录是经典的粘贴位目录

用途:比如/tmp都往里面写东西,但是各自管理各自,不能删除别人的

特殊权限对应的数字:

suid  4000s  S

sgid  2000s  S

粘贴位:sbit   1000t  T

7.现在讲的chattr  lsattr  block   inode都是基于ext3,ext4的,对于reiserfs文件系统时没有任何效果的。

这里在说一个chattr +a 表示可以往文件中添加内容,但是不能删除或者修改文件。

8.知道有一个命令就行了  setfacl和getfacl 设置某一个用户对文件/目录的操作权限

十一、linux文件系统权限详解的更多相关文章

  1. Linux之权限详解

    如何知道你有什么权限 我能干什么?这是我最关心的问题! 切换到普通用户 [root@luffy-01 ~]# su - pizza [pizza@luffy-01 ~]$ ls /root ls: c ...

  2. linux学习之路第八天(linux文件权限详解)

    建议和我上一篇博客一起通读,效果更加 1.权限的基本介绍 通过一张图片解决疑惑(重点) rwx权限详解 rwx作用到文件 1)[r]代表可读(read) :可以读取,查看 2)[w]代表可写(writ ...

  3. linux文件系统节点详解

    linux文件系统有两层结构,逻辑结构和物理结构.也就是inode和block. 每个文件都有一个inode, 记录文件属性:权限,时间还有最重要的block号码. block是实际存放文件内容的地方 ...

  4. linux文件目录权限详解(20170101)

    linux目录权限与文件权限是不同的,二者要相互配合,这是基础. 比如要读文件:目录至少要有x,文件至少要有r. 要写文件:目录至少要有x,文件至少要有rw. 要执行文件:目录至少要有x,文件至少要有 ...

  5. LINUX 文件权限详解

    ls -l // 查看文件的权限 等价于 ll 文件的权限信息查看 -rw-rw-r-- 1 ceshi ceshi 891 Aug 8 17:28 server drwxrwxr-x 10 cesh ...

  6. LInux ugo权限详解[修]

    Linux 中的用户和组是用来控制使用者或者进程可以或者不可以使用哪些资源和硬件,是Linux权限控制最基本的方式. 用户和组可以看一下上一章的部分,先来看一下权限. 一.权限概览 在Linux下,使 ...

  7. [转]Linux文件权限详解

    转自:http://blog.chinaunix.net/uid-25052030-id-174343.html 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问 ...

  8. linux文件权限详解

    一.文件和目录权限概述在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问:允许一 ...

  9. LInux ugo权限详解

    Linux 中的用户和组是用来控制使用者或者进程可以或者不可以使用哪些资源和硬件,是Linux权限控制最基本的方式. 用户和组可以看一下上一章的部分,先来看一下权限. 一.权限概览 在Linux下,使 ...

随机推荐

  1. 启动JAR Hadoop任务

    [启动JAR Hadoop任务] 一般情况下,我们会使用下面的命令来运行一个hadoop任务: 这个命令实际上是转化成下面的命令来运行的 在RunJar中,会读取abc.jar文件,然后尝试从mani ...

  2. 修改 Windows 10 UWP 应用任务栏图标

    修改 Windows 10 UWP 应用任务栏图标 Windows 7 时代,修改任务栏图标很简单,右键打开属性,更改图标即可.但步入 Windows 8 之后,随着应用商店 UWP 应用的问世,可以 ...

  3. info信息总结

    查询info信息 [[NSBundle mainBundle] infoDictionary] 以下是对应的输出 { BuildMachineOSBuild = 15C50; CFBundleDeve ...

  4. ios 获取当前wifi名称

    ios5之前可以通过读取配置文件获取,ios5以后苹果修改wifi列表文件位置,只有root权限才可以读取. ios4:/System/Library/SystemConfiguration/WiFi ...

  5. 删除链表中的元素 · Remove Linked List Elements

    [抄题]: Remove all elements from a linked list of integers that have value val. ExampleGiven: 1 --> ...

  6. dedecms实例化对象

    1.建表 2.创建实体类 4.tc文件加载该实体类 5.用的时候,引入tc.php文件,并实例化

  7. scrollView不能进行滚动

    原因:scrollView里只能包含一个layout,多个时,是不能进行滚动的.

  8. typedef char int8; 这样定义的好处?

    用typedef定义int8代表char:然后用int8去定义其他变量.一旦系统中char不再是占8位的数据时,可重新typedef新的占8位的类型为int8,而所有的用int8定义的8为类型数不用再 ...

  9. java内存溢出异常

    名称 特征 作用 配置参数 异常 程序 计数器 占用内存小,线程私有, 生命周期与线程相同 大致为字节码行号指示器 无 无 虚拟机栈 线程私有,生命周期与线程 相同,使用连续的内存空间 Java 方法 ...

  10. linux上chrome、vlc等程序root不能运行的解决办法

    which vlc 或者 whereis vlc 输入/geteuid,输入i进入输入模式,将geteuid改成getppid,然后ESC,输入wq,保存退出,这样程序root用户就可以运行了. ch ...