`
bluedusk
  • 浏览: 273431 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux 文件权限

阅读更多
 
在上面的章节中,我们知道了文件的权限可以用三个八进制数字表示。其实文件的权限应该用四个八进制来表示,不过用 ls -l 命令时,只显示三个罢了。那个没有显示的八进制数字其实是第一个,它用来设定一些特殊权限。这个八进制数字的三个位是:
    SUID SGID sticky-bit
    它们的含义是:
SUID
当设置了
SUID 位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。如果所有者是 root 的话,那么执行人就有超级用户的特权了。这时该位将变成一个安全漏洞,因此不要轻易设置该位。
SGID
与上面的内容类似。文件运行时,运行者将具有所属组的特权。
sticky-bit
sticky 位要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映象。这样做是为了节省大型程序的启动时间。但是会占用系统资源。因此设置该位,不如把程序写好。
  set uid ;set gid;sticky bit区别
每一个文件有所有者及组编号,set uid ;set gid可以改变用户对文件具有的权限:写和执行.
 
setuid: 在执行时具有文件所有者的权限.
setgid: 设置目录. 一个目录被标上setgid位,此目录下创建的文件继承该目录的属性.
sticky bit: 该位可以理解为防删除位. 设置sticky bit位后,就算用户对目录具有写权限,但也只能添加文件而不能删除文件。

如何设置:
操作这些标志与操作文件权限的命令是一样的, 都是 chmod. 有两种方法来操作,
1) chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效,U=用户)
chmod g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效,g=组名)
chmod o+t temp -- 为temp文件加上sticky标志 (sticky只对文件有效)
2) 采用八进制方式. 这一组八进制数字三位的意义如下,
abc
a - setuid位, 如果该位为1, 则表示设置setuid
b - setgid位, 如果该位为1, 则表示设置setgid
c - sticky位, 如果该位为1, 则表示设置sticky
设置后, 可以用 ls -l 来查看. 如果本来在该位上有x, 则这些特殊标志显示为小写字母 (s, s, t). 否则, 显示为大写字母 (S, S, T)
如:
rwsrw-r-- 表示有setuid标志 (rwxrw-r--:rwsrw-r--)
rwxrwsrw- 表示有setgid标志 (rwxrwxrw-:rwxrwsrw-)
rwxrw-rwt 表示有sticky标志 (rwxrw-rwx:rwxrw-rwt)
理解文件权限
所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux 是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux 将一个文件或目录与一个用户和组联系起来。请看下面的例子:
    drwxr-xr-x 5 root root 1024 Sep 13 03:27 Desktop
    与文件权限相关联的是第一、第三、第四个域。第三个域是文件的所有者,第四个域是文件的所属组,而第一个域则限制了文件的访问权限。在这个例子中,文件的所有者是 root,所属的组是 root,文件的访问权限是 drwxr-xr-x。对于文件和目录讲,每个文件和目录都有一组权限标志和它们结合在一起,在上例中就是第一个域中的内容。下面来仔细分析这个域中各个符号的意义:
    该域由 10 个字符组成,可以把它们分为四组,具体含义分别是:
     d rwx r-x r-x
    文件类型 所有者权限标志 组权限标志 其他用户权限标志
    其中:
    文件类型:第一个字符。由于 Linux 系统对与设备、目录、文件都当作是文件来处理,因此该字符表明此文件的类型,字符与对应的意义如下表:
文件标志
文件类型
例子
-
普通文件
数据文件、
ASCII 纯文本文件、程序
d
目录
/bin
b
块设备
/dev/hda(第一个 IDE 硬盘)
c
字符设备
/dev/ttyS1(与 DOS 种的串口 2 等同)
s
套接字
/dev/log
p
命名管道
/dev/initctl(与“|等同)
l
符号链接
/dev/modem->/dev/ttyS1
 
    权限标志:
    对每个文件或目录都有 4 类不同的用户。每类用户各有一组读、写和执行(搜索)文件的访问权限,这 4 类用户是:
    root:系统特权用户类,既 UID = 0 的用户。
    owner:拥有文件的用户。
    group:共享文件的组访问权限的用户类的用户组名称。
    world:不属于上面 3 类的所有其他用户。
    作为 root,他们自动拥有了所有文件和目录的全面的读、写和搜索的权限,所以没有必要明确指定他们的权限。其他三类用户则可以在耽搁文件或者目录的基础上别授权或撤消权限。因此对另外三类用户,一共 9 个权限位与之对应,分为 3 组,每组 3 个,分别用 r、w、x 来表示,分别对应 owner、group、world。
    权限位对于文件和目录的含义有些许不同。每组 3 个字符对应的含义从左至右的顺序,对于文件来说是:读文件的内容(r)、写数据到文件(w)、做为命令执行该文件(x)。对于目录来说是:读包含在目录中的文件名称(r)、写信息到目录中去(增加和删除索引点的连接)、搜索目录(能用该目录名称作为路径名去访问它所包含的文件或子目录)。具体来说就是:
        1. 有只读权限的用户不能用 cd 进入该目录;还必须有执行权限才能进入。
        2. 有执行权限的用户只有在知道文件名并拥有该文件的读权限的情况下才可以访问目录下的文件。
        3. 必须有读和执行权限才可以使用 ls 列出目录清单,或使用 cd 进入目录。
        4. 如用户有目录的写权限,则可以创建、删除或修改目录下的任何文件或子目录,既是该文件或子目录属于其他用户。
修改文件权限
     首先讲修改文件的所有权,使用 chown 和 chgrp 命令:
    chown new_user file or directory:修改文件或目录的所有者。
    chgrp new_group file or directory:修改文件或目录的所属组。
    这里需要注意的是:普通用户不能将文件或目录的所有权交与他人,只有 root 有这一权限。但是普通用户有权改变文件或目录的所属组。
    由于每类用户的权限都是由 rwx 三位组成,因此可以用三个八进制数字表示文件的访问权。一个八进制数字可以用三个二进制数字表示,那么与其对应,权值为 4 的位对应 r,权值为 2 的位对应 w,权值为 1 的位对应 x。对于一类用户,将这三位与其对应的权值相乘求和,就可以得出对该类用户的访问权限。
    改变文件访问权限的命令是 chmod,格式是:
    chmod permission file_name
    比如 chmod 764 a.txt,它表示对于文件的所有者,具有对该文件读、写、执行的权限。对于文件所属组的用户,拥有读、写的权限。对于其他用户,只有读权限。
    这里需要注意的是:文件的创建者是唯一可以修改该文件访问权限的普通用户,另外一个可以修改文件访问权限的用户是 root。
    还有一种表示方法,就是用字符串来设定文件访问权限。其中读用 r 表示,写用 w 表示,执行用 x 表示;所有者用 u 表示,组用户用 g 表示,其他用户用 o 表示,所有用户用 a 表示
 
分享到:
评论

相关推荐

    Linux文件权限与目录配置.pdf

    Linux 文件权限与目录配置 Linux 操作系统中,文件权限和目录配置是非常重要的安全防护机制。Linux 是一个多用户多任务的操作系统,可以允许多个用户同时使用Linux。Linux 的用户及群组功能是相当健全好用的一个...

    LINUX修改文件权限

    ### Linux文件权限对象分类 Linux中的文件权限主要针对以下三类对象: 1. **User(文件拥有者)**:指创建文件或目录的用户,对文件具有最高的控制权。 2. **Group(文件拥有者所在组)**:除了文件拥有者之外,同...

    linux 文件权限设置技巧

    Linux 文件权限设置技巧 Linux 操作系统中的文件权限设置是非常重要的安全机制之一。正确的文件权限设置可以有效地防止未经授权的访问和修改,从而保护系统和数据的安全。在 Linux 中,每个文件都有一个所有者和一...

    LINUX文件权限理解

    ### Linux 文件权限理解 #### 一、用户与组群管理 在 Linux 系统中,用户的账号信息主要存储于 `/etc/passwd` 文件内,包括一般用户和超级用户(root)的相关信息。每个用户的密码信息则单独保存在 `/etc/shadow` ...

    Linux文件权限.pdf

    4) 确定对于一个可执行文件的文件权限。 5) 使用默认权限创建一个文件或目录。 从命令行中修改权限: 1) 使用文件系统来控制安全访问。 2) 回顾chmod命令模式。 3) 使用符号模式修改文件或目录的权限。 4) 确定八...

    中标麒麟Linux文件权限管理和归属管理.pdf

    中标麒麟Linux文件权限管理和归属管理技术创新 中标麒麟Linux服务器操作系统文件权限管理和归属管理是 Linux 操作系统中的一种重要机制,用于控制用户对文件和目录的访问权限和所有权。本章将详细介绍中标麒麟Linux...

    第5章linux文件权限及设置命令

    本章将深入探讨Linux文件权限的概念、查看权限的方法以及如何通过命令来设置这些权限。 5.1 文件权限 文件权限定义了不同用户对文件或目录的访问类型,包括读(read)、写(write)和执行(execute)。每个文件或...

    Linux文件权限的设置方法.doc

    本篇文章将深入探讨Linux文件权限的设置方法及其重要性。 首先,我们要了解Linux文件系统的权限模型。在Linux中,每个文件都有一个9位的权限字段,用于表示所有者、所属组和其他用户的读(r)、写(w)和执行(x)...

    Linux文件权限属性.png

    Linux文件权限属性介绍图

    Linux文件权限

    ### Linux文件权限详解 在Linux操作系统中,文件权限是一个至关重要的概念,它决定了用户对文件或目录的操作权限,包括读取、写入和执行。掌握Linux文件权限不仅可以增强系统的安全性,还能有效管理用户对文件资源...

    Linux文件权限详解

    Linux 文件权限详解 Linux 操作系统中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。通过设定权限可以从以下三种访问方式限制访问权限:只允许用户自己访问;允许一...

    Linux文件权限管理实验.pdf

    Linux是一种操作系统,其安全性是设计时的首要考虑之一...通过这个实验,学习者能够深入理解Linux文件权限管理的工作机制,以及如何在实际操作中合理地管理文件和目录权限,这对于维护Linux系统的安全和稳定至关重要。

    Linux文件权限的修改命令

    Linux 文件权限的修改命令 Linux 文件权限是 Linux 操作系统中一个非常重要的概念,它控制着用户对文件和目录的访问权限。Linux 文件权限的修改命令是指通过使用特定的命令来改变文件或目录的所有权和权限。 1. ...

    Linux文件权限防护设置方法详细介绍

    Linux文件权限防护是确保系统安全的关键措施,尤其是在一个多用户环境中,如服务器系统。在Linux中,每个文件和目录都有特定的属性,主要包括文件类型和文件权限。这些属性决定了用户对文件的操作权限,防止未经授权...

    Linux基础课件-- Linux文件权限.pptx

    本课件主要围绕"Linux基础课件-- Linux文件权限"展开,旨在帮助学习者掌握Linux文件属性和权限控制的基本概念。 首先,我们来看Linux文件信息的基本组成。当我们使用`ll`命令列出文件或目录时,会看到一系列的信息...

    Linux文件权限全接触.pdf

    5. **文件权限**:Linux文件权限包括读(r)、写(w)和执行(x)三个基本权限,分别对应于用户(owner)、组(group)和其他人(others)三类用户。权限以三位数字表示,如755,意味着所有者有读、写和执行权限,组...

    实验4 Linux 文件权限管理实验.docx

    尽管描述和标签部分没有提供具体信息,但结合标题和部分内容的要求,我们可以深入探讨与Linux文件权限管理相关的知识点。 ### 一、Linux文件系统简介 在深入了解Linux文件权限管理之前,有必要先对Linux文件系统有...

    信息安全技术:Linux文件权限管理实验.doc

    实验标题中的"Linux文件权限管理实验"旨在让学生通过实际操作理解Linux中的文件权限体系。描述中提到的"信息安全技术基础"表明这个实验是信息安全课程的一部分,强调了权限管理在保障系统安全中的基础性作用。 实验...

    Linux文件权限的设置方法.docx

    本篇将详细介绍Linux文件权限的设置方法。 首先,Linux中的文件类型主要有五种:普通文件、目录文件、链接文件、设备文件和管道文件。普通文件通常包含文本或二进制数据;目录文件是用于组织文件系统的结构;链接...

    linux文件权限管理、管道、三剑客 ppt

    Linux文件权限管理、管道以及“三剑客”是Linux系统操作中的核心概念,它们对于有效管理和操作文件系统至关重要。下面将分别对这三个方面进行详细解释。 1. **Linux文件权限** - **权限说明**:在Linux中,每个...

Global site tag (gtag.js) - Google Analytics