`

Linux文件或目录的读,写,执行权限

 
阅读更多

文件或目录的存取权限

Permissions, important and tricky!

Unix permissions concern who can read a file or directory, write to it, and execute it. Permissions are granted or withheld with a magic 3-digit number. The three digits correspond to the owner (you); the group (?); and the world (everyone else).

Think of each digit as a sum:

 

execute permission

= 1

 

write permission

= 2

 

write and execute (1+2)

= 3

 

read permission

= 4

 

read and execute (4+1)

= 5

 

read and write (4+2)

= 6

 

read, write and execute (4+2+1)

= 7


Add the number value of the permissions you want to grant each group to make a three digit number, one digit each for the owner, the group, and the world. Here are some useful combinations. Try to figure them out!

修改方式1:以绝对方式改变权限
chmod 600 {filespec}You can read and write; the world can't. Good for files.

chmod 700 {filespec}You can read, write, and execute; the world can't. Good for scripts.

chmod 644 {filespec}You can read and write; the world can only read. Good for web pages.

chmod 755 {filespec}You can read, write, and execute; the world can read and execute. Good for programs you want to share, and your public_html directory.


Permissions, another way(修改方式2:以符号模式改变权限(在原来基础上增加添加定义的权限))

You can also change file permissions with letters:

 

u = user (yourself)

g = group

a = everyone

 

r = read

w = write

x = execute


chmod u+rw {filespec}Give yourself read and write permission

chmod u+x {filespec}Give yourself execute permission.

chmod a+rw {filespec}Give read and write permission to everyone.


    
使用文件命令对文件进行操作的前提是拥有相应的权限。下面我们介绍如何控制这些权限。

    (1)用户和权限
    Linux
为每个文件都分配了一个文件所有者,称为文件主,并赋予文件主惟一的注册名。对文件的控制取决于文件主或超级用户(root)。文件或目录的创建者对创建的文件或目录拥有特别使用权。

    文件的所有关系是可以改变的,可以将文件或目录的所有权转让给其它用户,但只有文件主或root用户才有权改变文件的所有关系。文件的所有权的标志是用户ID(UID)

    利用chown 命令可以更改某个文件或目录的所有权。例如,超级用户把自己的一个文件myfile拷贝给用户xu。为了让用户xu能够存取这个文件,超级用户(root)应该把这个文件的属主设为xu,否则,用户xu无法存取这个文件,命令如下:
    chown xu myfile

    如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的权限。

系统管理员经常使用chown命令,以便将文件拷贝到另一个用户的目录下以后,让该用户拥有使用该文件的权限。

    (2)用户组
    
Linux下,每个文件又同时属于一个用户组。当创建一个文件或目录时,系统会赋予它一个用户组关系,用户组的所有成员都可以使用此文件或目录。
    
文件用户组关系的标志是GID。文件的GID只能由文件主或超级用户(root)来修改。chgrp命令可以改变文件的GID

    (3)用户和权限
    Linux
系统中的每个文件和目录都有存取许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作。

    Linux系统中规定了四种不同类型的用户,即文件主(owner)同组用户(group)、可以访问系统的其它用户(others)超级用户(root),具有管理系统的特权。

    存取权限规定三种访问文件或目录的方式:读(r)、写(w)、可执行或查找(x)

    当用“ls -l”命令显示文件或目录的详细信息时,最左边的一列为文件的存取权限,其中各位的含义如图4所示。


4 文件权限表示

    ◆文件的存取权限
    
读权限(r)表示只允许指定用户读取相应文件的内容,而禁止对它做任何的更改操作。将所访问的文件的内容作为输入的命令都需要有读的权限。例如catmore等。
    
写权限(w)表示允许指定用户打开并修改文件。例如命令vicp等。
    
执行权限(x)表示允许指定用户将该文件作为一个程序执行。

    ◆目录的存取权限
    
ls命令后加上-d选项,可以了解目录文件的使用权限。
    
读权限(r)表示可以列出存储在该目录下的文件,即读目录内容列表。这一权限允许Shell使用文件扩展名列出相匹配的文件名。
    
写权限(w)表示允许用户从目录中删除或添加新的文件,通常只有文件主才有写权限。
    
执行权限(x)表示允许用户在目录中查找,并能用cd命令将工作目录改到该目录。

    (4chmod命令
    chmod
命令用于改变或设置文件或目录的存取权限。只有文件主或超级用户root才有权用chmod改变文件或目录的存取权限。

    根据表示权限的方式不同,该命令有以符号模式改变权限以绝对方式改变权限两种用法。

    ◆以符号模式改变权限
    chmod
命令的一般格式是:chmod key 文件名

    其中,key由以下各项组成:

-----------------------------------------------------------------------------------------------------------------------------------

    [who]   [操作符号]  [mode] 

    操作对象  who可以是下述字母中的任一个或它们的组合: u 表示用户(user),即文件或目录的所有者。g  表示同组(group)用户,即与文件属主有相同组ID的所有用户。  o  表示其它(others)用户。 a  表示所有(all)用户,它是系统默认值。 

    操作符号可以是下述符号:  +  添加某个权限。  -  取消某个权限。  = 赋予给定权限并取消其他所有权限(如果有的话)。 

    mode所表示的权限可用下述字母的任意组合:r 表示可读。w 表示可写。x 表示可执行。X 表示只有目标文件对某些用户是可执行的,或者该目标文件是目录时才追加x (可执行)属性。s 在文件执行时把进程的属主或组ID置为该文件的文件属主。

   方式“u+s”设置文件的用户ID位, “g+s”设置组ID位。t 保存程序的文本到交换设备上。  u  与文件属主拥有一样的权限。 g 拥有与文件属主同组用户一样的权限。  o  与其它用户拥有一样的权限。

-----------------------------------------------------------------------------------------------------------------------------------

 

    上面这三部分必须按顺序输入,可以用多个key,但必须以逗号隔开。例如:
    $ chmod a+x ex1

    上面代码表示将文件ex1的权限改为所有用户(a)都有执行权限(+x)
    $ chmod u=r,ug=x ex1

    上面这行代码表示将文件ex1的权限重新设置为文件主可以读和执行,组用户可以执行,其它用户无权访问。

    ◆以绝对方式改变权限
    
以绝对方式改变权限一般格式是:chmod mode 文件名

    用绝对方式设置或改变文件的存取权限就是用数字“1”和“0”表示图4中所 示的9个权限位, 置为“1”表示有相应权限, 置为“0”表示没有相应权限。例如,某个文件的存取权限是文件主有读、写和执行的权限,组用户有读和执行的权限,其它用户仅有读的权限。用符号模式表示就 是rwxr-xr--,用二进制数字表示就是111101100

    为了方便记忆和表示,通常将这9位二进制数用等价的3个从07的八进制数表示,即从右到左3个二进制数换成一个八进制数。这样,上述二进制数就等价于八进制数“754”

    也就是说,mode是以3位八进制数字出现的,最左位表示文件主权限,中间位表示组用户权限,最右位表示其它用户权限。

    例如,chmod 664 ex1使文件ex1的文件主和同组用户具有读写权限,但其它用户只可读。

    ◆umask命令
    umask
命令用来设置限制新建文件权限的掩码。其一般格式是:umask mode

    当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行,并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask来改变默认值,新的权限将会把旧的覆盖掉。

    利用umask命令可以指定哪些权限将在新文件的默认权限中被删除。例如,可以使用下面的命令创建掩码,取消组用户的写权限以及其他用户的读、写和执行权限: umask u=,g=w,o=rwx

    执行该命令以后,下面所建新文件的文件主权限未作任何改变,而组用户没有写权限,其它用户的所有权限都被取消。

    应注意,umask命令和chmod命令中,操作符“=”的作用恰恰相反。在chmod,利用它来设置指定的权限,而其余权限都被取消;但是在umask命令中,它将在原有权限的基础上把指定的权限删除。

    不能直接利用umask创建一个可执行的文件,用户只能在其后利用chmod命令使它具有执行权限。假设执行了下面命令:
    umask u=,g=w,o=rwx

    虽然在命令行中,文件主和组用户的执行权限没有被删去,但默认的文件权限还 是640(rw-r-----),而不是750(rwxr-x---)。但是,如果创建的是目录,或者通过编译程序创建一个可执行文件,将不受此限制。 在这种情况下,文件的执行权限会被设置。

    此外,也可以使用八进制数值来设置mode。在umask中所指定的权限 表示要删除的权限,所以,如果一个文件原来的初始权限是777,那么执行命令umask 022以后, 那么该文件的权限将变为 755;如果该文件原来的初始权限是666, 那么该文件的权限将变为644

    使用下面的命令可以检查新创建文件的默认权限:
    umask -s

    上面命令中,选项-s表示以字符形式显示当前的掩码。

    如果直接输入umask命令,不带任何参数,那么将以八进制形式显示当前的掩码。系统默认的掩码是0022

分享到:
评论

相关推荐

    Linux文件和目录读写执行权限解析

    Linux文件和目录读写执行权限解析 本文对linux系统下各种权限的文件和目录的新建、复制和删除等进行了测试和分析总结!

    Linux中读写执行权限的真正含义.md

    linux文件目录权限具体含义,包括设置文件夹权限能执行什么命令以及设置文件的权限具体能执行什么命令

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

    其中第一个字符 d代表目录, -代表字符 w代表可写,r代表可读 x代表可执行 数字为4,2,1其中第一组是文件或者目录所有者权限,第二组代表当前用户所在用户组,第三组是其他用户组的权限所以控制文件的权限是精确到...

    第4章linux文件权限与目录配置

    在你以root的身份登录linux之后,执行“ls –al”命令,会看到以下内容 文件相关信息 - 文件类型 [b]目录、[-]文件、[l]为连接文件、[b]设备文件可供存储接口 r 可读 w 可写 x 可执行 (每3个为一组) rw- 文件...

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

    每个文件或目录都有9个基本权限位控制其读、写、执行。(第4章开头有介绍) 字符 权限 对文件的含义 对目录的含义 r 读权限 可以读文件的内容 可以列出目录中的文件列表 w 写权限 可以修改、删除文件 可以在该目录中...

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

    所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。 Linux 是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux 将一个文件或目录与一个用户或组联系起来。访问控制列表(ACL:...

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

    所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux 是一个多用户操作系统,它允许多个用户同时登录和工作。因此 Linux 将一个文件或目录与一个用户或组联系起来。访问控制列表(ACL:...

    linux-smb-文件权限配置-超详细

    linux-smb-文件权限配置-超详细

    Linux文件权限.pdf

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

    linux下的文件和目录权限命令的使用说明

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

    Linux 文件和目录的属性

    1、Linux 文件属性概说 2、关于inode 3、文件类型 4、文件的权限 5、setuid和setgid 位 ...7、文件或目录的归属关系 8、影响文件的读写执行的因素 9、文件被修改或被访问的时间 10、文件属性和文件系统属性的关系

    Linux文件系统构建

    包括源程序、主要功能模块、程序流程图、心得、程序调试等等,熟悉在Linux系统下构建文件系统,并利用教材中讲到的chmod命令来设置文件系统的访问权限;通过设置umask参数来设置文件及目录的权限;掌握文件系统的...

    Linux 文件和目录权限详细介绍

    Linux文件和目录权限解读   如何设置Linxu文件和目录的权限   字符表示法      1)ls -l:查看所在目录所有文件的权限  2)chmod u=r file:把file文件的当前(用户user)的权限赋值为可写模式  3)chmod ...

    minio 二进制可执行文件(linux)

    minio 的二进制 可执行文件,适用于linux系统,加权限带参数执行即可

    Linux bash:./xxx:无法执行二进制文件报错

    到此这篇关于Linux bash:./xxx:无法执行二进制文件报错的文章就介绍到这了,更多相关Linux 无法执行二进制文件 内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!...

    Linux系统的文件模式和访问权限介绍

    Linux系统每个文件都有三种类型用户ID:文件拥有者ID、同组用户ID、所有剩下用户ID。并且每种类型用户都有三种类型的访问权限:读、写、执行。文中还介了进程的分类及进程读/写/执行文件的过程。

    Linux中文件权限目录权限的意义及权限对文件目录的意义

    x:文件就具有了可执行的权限——-注意:这里和window不一样,在win中,文件的可执行权限是通过扩展名表现出来的,如exe、bat等,但是在linux中文件的可执行权限是通过这个x决定的,与文件名没有什么关系。...

    详解ftp创建文件权限问题

    但是,FTP后台是通过b用户登录linux系统执行程序上传文件到FTP服务器,由于FTP服务器的文件夹都是由admin用户创建的,且属性为755,b用户根本没有写的权限,导致程序上传文件失败。 二、分析 那么解决问题的方法应该...

    Linux权限修改方法.txt

    Linux 权限修改方法 让服务器上的文件夹有读写等权限

    linux系统权限总结

    linux操作系统 文件 权限 总结

Global site tag (gtag.js) - Google Analytics