`

Linux文件权限介绍

阅读更多

Linux文件权限

    在Linux系统中,每一个文件都包含有访问权限,通过这些权限可控制哪些用户能访问这些文件(目录)。

一、文件权限概述

    在Linux中,将文件访问权限分为3类用户来进行设置:文件所有者(u)、同组用户(g)和其他用户(o),可分别为这3类用户设置不同的操作权限。

    对于每类用户,又可以设置3种权限:读(r)、写(w)和执行(x),这3种权限可以叠加组合。例如,文件所有者对文件具有读和写的权限(rw)。

    当创建一个文件时,系统会自动赋予文件所有者读和写的权限,这样可以允许所有者能够显示文件内容和修改文件。文件所有者可以将这些权限改变为任何他想指定的权限。

    如果文件只有读(r)权限而没有写(w)权限,表示该文件是只读文件,不能对文件内容进行修改。

    对于3类用户,可分别设置3种不同的权限,因此就构成了一个有9种类型的权限组合。

二、.权限位

    使用ls命令显示文件的全部信息时,最左侧显示有10个字符,除第1个字符表示文件的类型之外,其他9个字符都表示文件的权限。

    1.    如果使用( ls –l)命令查看当前工作目录中的文件,会出现以下权限:

                     

 

    2.   对于文件或目录,权限字符所代表的意义不同,具体如下:

第一个字符表示文件类型主要有:

    “—”表示这是一个普通文件。

    “d”表示这是一个目录文件。

    “l”表示这是一个符号连接文件,实际上它指向另一个文件。

    “b”表示块设备,如硬盘、光盘或U盘等。

    “c”表示外围设备,是特殊的文件类型。

    “s”表示系统的套接字文件。

     “p”表示系统的管道文件。

后面的9个字符表示权限:

     “r”(Read):读取权限。如果文件具有该权限,表示对应用户可读取文件的内容;如果目录具有该权限,表示对应用户可浏览目录。

    “w”(Write):写入权限。如果文件具有该权限,表示对应用户可对文件进行新增、修改内容;如果目录具有该权限,表示对应用户可删除、移动目录内的文件。

    “x”(eXecute):执行权限。如果文件具有该权限,表示对应用户可执行该文件(前提是该文件必须是可执行的文件);如果目录具有该权限,表示对应用户可进入该目录。

     “-”:若对应位置权限位为字符“-”,表示对应用户没有该权限。

例如:

1. drwx r-x r-x
    表示目录所有者(root)可对目录进行各种操作,而同组用户具有浏览权限(r)和进入目录的权限(x),其他用户也具有浏览权限和进入目录的权限。

    在实际使用中,还可使用八进制数字来表示文件的访问权限。八进制数的每一位表示3位二进制,而在权限设置中每种类型的用户权限也正好有3位。因此,可用3位二进制数来表示文件的访问权限,若某一位具有权限,则该位为1,若某位没有权限,则该位为0。

   1.   字符表示:     rwx     r-x      r-x

   2.   二进制表示: 111     101     101

   3.   八进制表示: 7      5          5


根据以上规则,可知道文件的权限代码和八进制数(或二进制数)的对应关系,如下:

       权 限   二进制    八进制   权 限   二进制   八进制
         ---       000           0        r--          100          4
         --x       001           1        r-x          101          5
         -w-      010           2        rw-          110          6
         -wx      011           3        rwx          111          7

三、 修改文件权限

   使用chmod命令可修改文件的权限。只有文件的所有者和超级用户才能修改其权限。

    chmod命令有两种用法:一种是通过权限字母和操作符表达式的方法来设置权限;另一种是使用数字来设置权限。

    1.使用权限字符设置

使用权限字符设置权限的命令格式如下:

chmod [用户类型] [+ | - | =] [权限字符] 文件名

"用户类型"可用以下字母中的任一个或者它们的组合来表示需要设置权限的部分:

    u:表示对文件的所有者设置权限。

    g:表示对文件所有者相同组的所有用户设置权限。

    o:表示对其他用户设置权限。

    a:表示对所有用户设置权限(这是系统默认值)。

紧跟在用户类型后面的是操作符,这3个符号的意义如下:

    +:添加某个权限。

    -:取消某个权限。

    =:赋予给定权限并取消其他所有权限。

    而权限字符可使用r、w或x的组合。另外也可使用s,表示在文件执行时把进程的属主或组ID提升为该文件的文件属主。

   设文件myfile.txt的权限是"rw-r--r--",如果该文件允许同组用户和其他用户也具有修改权限(即将同组用户和其他用户添加写权限),可使用以下命令进行修改。

    # chmod go+w myfile.txt

执行以上命令后,再使用ls命令查看文件myfile.txt,可看到其权限已被修改

提示:使用“-”号即可取消对应位置的权限。

   使用以下命令可设置目录test的setgid位:

    1. # chmod g+s test

   执行以上命令后,使用ls命令查看test目录,可看到该目录的同组权限由原来的"r-x"变为"r-s"了。

    为test目录设置好setgid权限后,在test目录下创建新的目录时,该目录将继承父目录的权限。

    提示:为文件或目录设置s权限后,如果文件原来位置有x权限,执行该命令后其权限字符s为小写,若文件原位置没有x权限(即显示为"-"),则设置s权限后将显示为大写字符S。

    2.使用数字设置权限

   用数字表示权限的组合,该组合由3位八进制数来表示文件的3类用户的权限组合。

   命令格式如下:

    1.   chmod [数字组合] 文件名

将上例中修改权限的命令改为用数字法进行,可使用以下命令:

    1.    # chmod 666 myfile.txt

    执行以上命令,表示将文件myfile.txt的设置为所有者、同组、其他用户具有读和写的权限。

   四、 修改所有者

    使用chown命令可以修改文件的所有者和组,该命令的格式如下:

    1.    chown 所有者:组 文件

    该命令将指定文件的所有者修改为指定的所有者,同时可以指定用户所有的组。

    注意:只有root用户可以更改文件的所有者,root用户或文件所有者才可以更改文件的组。如果是文件所有者但不是root用户,则只能

   将组更改为当前用户所在组。

    如将myfile.txt文件的所有者修改为my,组也修改为my,可使用以下命令:

    1.   # chown my:my myfile.txt

    执行以上命令,然后使用ls查看结果。

五、 设置默认权限

    当用户创建文件或目录后,系统将设置一个默认权限,可通过命令umask查看或设置系统默认的权限。umask用一个3位八进制数来指定,由命令的mask可看出这是要屏蔽部分权限。当创建文件时,文件的权限就设置为创建程序请求的任何权限去掉umask屏蔽的权限。

    系统默认屏蔽的权限为022,因此创建文件或目录时其权限就为777-022=755,即新创建的文件的权限为755(用字符表示就是rwxr-xr-x),表示所有者具有所有权限,同组用户和其他用户具有读和执行权限,没有写的权限。

分享到:
评论

相关推荐

    LINUX修改文件权限

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

    linux 文件权限设置技巧

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

    LINUX文件权限理解

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

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

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

    linux系统权限管理文件特殊权限PPT学习教案.pptx

    "Linux 系统权限管理文件特殊权限学习教案" Linux 系统权限管理文件...本学习教案详细介绍了 Linux 系统权限管理文件特殊权限的概念、类型、作用和使用方法,旨在帮助读者更好地理解和应用 Linux 系统权限管理机制。

    Linux文件权限属性.png

    Linux文件权限属性介绍图

    linux文件属性和更改文件权限详解

    1.2 linux文件系统介绍 2.更改目录/文件权限 2.1 用户和用户组的相关指令 2.2 chgrp命令 2.3 chown命令 2.4 chmod命令 2.5 umask命令  1.文件属性 1.1 ls命令 ls命令是我们最常用的命令之一,用来查看当前目录下的...

    Linux文件目录的权限和属性实践讲解

    本文将详细介绍Linux文件目录的权限和属性,并通过实际操作来加深理解。 #### 二、文件权限的基本概念 Linux中的文件权限主要包括读(Read)、写(Write)和执行(Execute)三种基本类型,分别用字母r、w和x表示。...

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

    本章将详细介绍中标麒麟Linux文件权限管理和归属管理的技术创新,包括文件类型、权限类型、归属管理、权限改变和图形化查看/修改文件属性等。 文件类型 在 Linux 系统中,文件类型分为普通文件、目录、字符设备...

    linux修改目录和文件权限的简单命令解释

    目录的权限表示:dwrxr–r– 其中第一个字符 d代表目录, -代表字符 w代表可写,r代表可读... 您可能感兴趣的文章:Linux中改变文件权限的chmod命令详析修改linux文件权限命令:chmod命令详解Linux 下目录文件权限(命

    Linux安全体系的文件权限管理.doc

    Linux 安全体系的文件权限管理 Linux 操作系统中的文件权限管理是指控制用户或用户组对文件或目录的访问权限。Linux 安全体系的文件权限管理方式主要有两种:自主访问机制(Discretionary Access Control,DAC)和...

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

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

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

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

    linux基础权限介绍

    本节将详细介绍Linux文件和目录的基础权限管理。 #### 二、文件类型与权限标识 使用`ls -l filename`命令可以查看文件或目录的详细信息。文件或目录的详细信息由10个字段组成: - **文件类型**: - `-` 普通文件...

    linux文件系统管理-权限管理(基础权限设置实验)

    Linux 文件系统管理 - 权限管理(基础权限设置实验) 本实验旨在掌握 Linux 文件系统权限的设置、Linux 用户帐号与组管理、Linux 文件共享的设置方法和权限设置方法。实验中,我们将学习如何设置权限,使得文件夹和...

    基于Linux操作系统文件权限的设置

    #### Linux文件权限基础 Linux系统作为一个典型的多用户环境,为了保障系统安全,它对不同用户访问同一文件的权限做出了明确规定。这种安全模型是通过为系统中的文件赋予“所有者”和“访问权限”两个属性实现的。 ...

    如何设置Linux系统下的文件权限

    设置Linux文件权限通常涉及以下步骤: 1. **检查系统核心支持**:首先,确保你的Linux内核支持ACL功能。通过查看 `/boot/config-kernel-version` 文件中有关EXT3文件系统的配置项,如 `CONFIG_EXT3_FS_ACL`,确认...

    Linux文件权限详解

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

    Linux修改文件及文件夹权限

    #### 修改文件权限:`chmod` `chmod`命令是用于修改文件或目录访问权限的强大工具。它有两种使用方法:文字设定法和数字设定法。 ##### 文字设定法 使用格式:`chmod [who][+|-|=][mode] 文件名` - **操作对象**...

Global site tag (gtag.js) - Google Analytics