Linux文件属性与权限

来源:互联网 发布:美国旅游知乎 编辑:程序博客网 时间:2024/05/22 04:32
Linux中每个文件都有相当多的属性和权限,需要明确文件拥有者(owner)、群组(group)、非群组外的其他人(other)的概念。
    Linux系统当中,默认情况下,所有的系统上的账号与一般身份使用者,还有root的相关信息,都是记录在/etc/passwd这个文件内。个人的密码则是记录在/etc/shadow这个文件下。此外,Linux所有的组名都纪录在/etc/group内!这三个文件可以说是Linux系统里面账号、密码、群组信息的集中地。
Linux文件属性
    通过执行[ls –al]命令,列出所有文件详细的权限与属性(包括隐藏文件,就是文件名第一个字符为『.』的文件)。

1、文件权限:

    第一个字符代表文件类型[目录、文件、连接文件等]。
    接下来的字符中,以三个为一组,均为『rwx』的三个参数的组合。其中[r]代表可读(read)、[w]代表可写(write)、[x]代表可执行(execute)。这三个权限的位置不会改变,如果没有权限,就会出现减号[-]。
2、连接点:  每个文件都会将他的权限与属性记录到文件系统的i-node中,不过,我们使用的目彔树却是使用文件名来记录,因此每个文件名就会连结到一个i-node!这个属性记录得就是有多少不同的文件名连结到相同的一个i-node号码。
3、拥有者:  文件或目录的拥有者账号;
4、群组:   文件的所属群组;
5、文件容量:默认为bytes;
6、修改日期:文件的创建日期或者是最近的修改日期;
7、文件名:  如果档文件名前多一个『.』,则代表这个文件为『隐藏文件』。
    改变文件的权限和属性可以通过chgrp(改变群组)、chown(改变拥有者)、chmod(改变读写执行的权限)三个基本命令来实现。
改变权限的方式
1、数字类型改变文件权限
    Linux文件的基本权限有九个,分别是owner/group/others三种身份各有自己read/write/execute权限,权限字符为:『-rwxrwxrwx』,这九个权限是三个三个一组的!可以使用数字来代表各个权限:
    r:4
    w:2
    x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [-rwxrwx---] 分数则是:
    owner = rwx = 4+2+1 = 7
    group = rwx = 4+2+1 = 7
    others= --- = 0+0+0 = 0
所以当把文件改为具备上述权限时,可以通过chmod执行『chmod 770 filename』。

2、符号类型改变文件权限
    user、group 、others三种身份可以由u、g、o来代表三种身份的权限!此外,a则代表all亦即全部的身份;读写权限仍用r、w、x来表示。

    假如需要『-rwxr-xr--』这样的权限,可以使用『chmod u=rwx,g=rx,o=r filename』来设定。此外,如果不知道原先的文件属性,而只想要增加.bashrc这个档案的每个人均可写入的权限,可以使用:『chmod a+w .bashrc』。

文件与目录的权限意义
1、文件权限的意义

    文件是实际含有数据的地方,包括一般文本文件、数据库内容文件、二进制可执行文件(binary program)等等。权限对文件来说意义如下:
    •  r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
    •  w (Write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
    •  x (eXecute):该文件具有可以被系统执行的权限。
    对于文件来说,rwx主要都是针对『文件的内容』而言,与文件名的存在与否没有关系!
2、目录权限的意义
    r (read contents in directory):
    表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目彔的权限时,表示你可以查询该目录下的文件名数据。 所以你就可以利用ls这个指令将该目录的内容列表显示出来!
    w (modify contents of directory):
    这个可写入的权限对目彔来说,表示你具有移动该目录结构列表的权限,也就是底下这些权限:
    o  建立新的文件或目录;
    o  删除已经存在的文件或目录(不论该文件的权限为何!)
    o  将已存在的文件或目录进行更名;
    o  搬移该目录内的文件、目录位置。
    总之,目录的w权限就是与该目录底下的文件名移动有关就对了!
    x (access directory):
    目录不可以被执行,目录的x代表的是用户能否进入该目录成为工作目录的用途!所谓的工作目录(work directory)就是你目前所在的目录!举例来说,当你登入Linux时,你所在的家目录就是你当下的工作目录。而变换目录的指令是『cd』(change directory)!

 

 

 

原创粉丝点击