`
56553655
  • 浏览: 197668 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

文件或目录的存取权限

阅读更多

快速理解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
 


 < type="text/javascript"> 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. < type="text/javascript">

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)表示只允许指定用户读取相应文件的内容,而禁止对它做任何的更改操作。将所访问的文件的内容作为输入的命令都需要有读的权限。例如cat、more等。
    写权限(w)表示允许指定用户打开并修改文件。例如命令vi、cp等。
    执行权限(x)表示允许指定用户将该文件作为一个程序执行。

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

    (4)chmod命令
    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个从0到7的八进制数表示,即从右到左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。


本文来自CSDN博客:http://blog.csdn.net/omohe/archive/2007/11/23/1899910.aspx

分享到:
评论

相关推荐

    UNIX --文件属性和存取权限

    属性和存取权限,unix系统文件ls命令后除了用颜色可表示文件不同权限,还可以直接从前面几位看出不同用户的权限

    中北大学操作系统云沙箱实验报告-基于openEuler的云景平台文件管理系统

    • 脚本文件管理:使用目录创建命令、文件创建命令、文件编辑命令、用户和组的创建命令、文件权限命令实现对脚本存储目录的创建、脚本文件的创建、脚本文件的编辑、脚本文件的存取权限设置等功能,并结合目录查询...

    linux操作系统基础教程

    2.3 文件操作命令·························· ···························· ························ ············...

    文件服务器安装与配置.docx

    启用基于存取的枚举:简单一点说就是如果A用户只能访问A目录的权限,那他就不会看到共享下面的B目录,就不会出现点击B目录没有访问权限的提示了,这样增强了用户体验,同时也加强文件服务器的安全性。 允许共享缓存...

    C语言目录和文件操作补充1

    一、access库函数access函数用于判断当前操作系统用户对文件或目录的存取权限 四、rename库函数rename函数用于重命名文件或目录,相当于操作系统

    linuxc 高级编程之文件操作(带截图)

    输入文件名称,能够判断文件类型,判断实际用户对该文件具有哪些存取权限; ?2.要求打印出文件类型信息,inode节点编号,链接数目,用户id,组id,文件大小信息; ?3.修改文件的权限为当前用户读写,组内用户读写,...

    变长记录文件存取类库的设计和实现及应用_员工工作交流系统

    C++编写,控制台。 利用独自开发的类库设计应用程序,功能强大。包括注册、登录、设置管理员、权限设置、文件...若要了解类库的设计和使用,请参看本人的另一个资源(变长记录文件存取类库及测试)。支持原创,支持开源

    RHEL5 --权限设置命令

    修改文件或目录的存取权限命令 Linux系统之所以很安全,从很大程度上来说,都 得益于在Linux系统中的每一个文件或目录有严格的 权限设置。 要设置好Linux中的权限,应该需要从以下几个方 面进行理解和掌握:

    Android10.0存取权限的问题

    写和读的权限配置好后 也动态获取了权限 但使用BitmapFactory的时候还有提示权限拒绝 在anroid9.0及以下的都可以 但android10.0出现了问题这个时候我们在 清单文件里面加入这个配置就可以了。 1、 清单文件...

    Linux常用命令 LINUX常用命令和系统管理

    Linux常用命令 LINUX常用命令和系统管理 文件目录基本操作 文件压缩和打包命令 文件和目录存取权限 磁盘存储器管理 系统管理

    网盘系统文件

    一个简单的网盘系统,包括注册,登录,图像的上传下载,在线显示,单文件的上传下载,还有多文件的上传等

    Linux必学的60个命令 LINUX常用命令和系统管理

    Linux必学的60个命令 LINUX常用命令和系统管理 文件目录基本操作 文件压缩和打包命令 文件和目录存取权限 磁盘存储器管理 系统管理

    盛世桃源校园文件管理系统 V1.0 MSSQL免费版 for .net /2.0/3.0/.rar

    支持任何用户、在任何时间、任何地点上网上传、下载、管理(包括对文件或目录的建立、删除、修改和查询等操作)自己的文件,好像一个虚拟的随身公文包,支持任何基于TCP/IP协议的网络环境,支持校园内不同用户拥有...

    cmd操作命令和linux命令大全收集

    xcopy 要复制的文件或目录树 目标地址目录名 复制文件和目录树,用参数/Y将不提示覆盖相同文件 用参数/e才可连目录下的子目录一起复制到目标地址下。 tftp -i 自己IP(用肉机作跳板时这用肉机IP) get server.exec...

    美客企业文件管理系统 v1.0

    1、系统名称、文件存取位置请自行在Web.config里设置. 2、数据库在DB文件夹中,在MS SQL2005中直接附加后,在设置下数据库的用户名和密码即可。 3、管理帐号:admin 密码:123456. 4、感谢您使用美客文件管理系统...

    文件服务器.pptx

    文件服务器 计算机网络技术 文件服务器全文共20页,当前为第1页。 文件服务器 任何服务器... 在弹出的"我的共享的权限项目"窗口中单击"选择主体"选项,在弹出的"选择用户或组"对话框中输入要设置权限的用户,然后单击

    美客企业文件管理系统 v1.0.rar

    1、系统名称、文件存取位置请自行在Web.config里设置. 2、数据库在DB文件夹中,在MS SQL2005中直接附加后,在设置下数据库的用户名和密码即可。 3、管理帐号:admin 密码:123456. 4、感谢您使用美客文件管理系统...

    文件服务器建设方案.doc

    Windows 2008 Server Enterprise 文件共享服务器安装、配置方案 目录 第一部分:需求 2 第二部分:分析 2 第三部分:评估 4 第四部分:实施 5 第一部分:需求 由于公司内部各部门之间分工、职责、权限明确,...

    多用户企业文件管理系统源码.zip

    企业文件管理系统是一款小巧实用的多用户文件管理系统,此系统比较适合用作单位内部文件的管理与传递。 企业文件管理系统特性: 1、支持大文件上传,单个... 1、系统名称、文件存取位置请自行在Web.config里设置.

    svn1.8.3所有安装文件及安装配置说明

    locks用来放置 Subversion文件库锁定数据的目录, 用来追踪存取文件库的客户端;format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。 5. 配置版本库 打开/conf/ svnserve.conf # [general...

Global site tag (gtag.js) - Google Analytics