美文网首页
一学Linux之文件权限

一学Linux之文件权限

作者: Thor_果冻 | 来源:发表于2019-04-12 16:05 被阅读0次

    学自鸟哥的Linux私房菜

    文件权限

    Linux一般将文件可存取的身份分为:

    • user
    • group
    • others

    文件基本权限又分为:

    • read
    • write
    • execute

    查看文件权限ls -al

    查看文件权限示例

    下面横线中文档来自鸟哥的Linux私房菜


    档案属性的示意图
    • 第一栏代表这个档案的类型与权限(permission):

    这个地方最需要注意了!仔细看的话,你应该可以发现这一栏其实共有十个字符

    档案的类型与权限之内容
    • 第一个字符代表这个档案是『目录、档案或连结档等等』:

      • 当为[ d ]则是目录
      • 当为[ - ]则是档案
      • 若是[ l ]则表示为连结档(link file);
      • 若是[ b ]则表示为装置档里面的可供储存的周边设备(可随机存取装置);
      • 若是[ c ]则表示为装置档里面的序列埠设备,例如键盘、滑鼠(一次性读取装置)。
    • 接下来的字符中,以三个为一组,且均为『rwx』的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

      • 第一组为『文件拥有者可具备的权限』
      • 第二组为『加入此群组之帐号的权限』;
      • 第三组为『非本人且没有加入本群组之其他帐号的权限』。
    • 第二栏表示有多少档名连结到此节点(i-node):

      每个档案都会将他的权限与属性记录到档案系统的i-node中,不过,我们使用的目录树却是使用档名来记录,因此每个档名就会连结到一个i-node啰!这个属性记录的,就是有多少不同的档名连结到相同的一个i-node号码去就是了。

    • 第三栏表示这个档案(或目录)的『拥有者帐号』

    • 第四栏表示这个档案的所属群组

      在Linux系统下,你的帐号会加入于一个或多个的群组中。

    • 第五栏为这个档案的容量大小,预设单位为bytes;

    • 第六栏为这个档案的建档日期或者是最近的修改日期:

      这一栏的内容分别为日期(月/日)及时间。如果这个档案被修改的时间距离现在太久了,那么时间部分会仅显示年份而已。如果想要显示完整的时间格式,可以利用ls的选项,亦即:『ls -l --full-time』就能够显示出完整的时间格式了!包括年、月、日、时间喔。另外,如果你当初是以繁体中文安装你的Linux系统,那么日期栏位将会以中文来显示。可惜的是,中文并没有办法在纯文字的终端机模式中正确的显示,所以此栏会变成乱码。 那你就得要使用『export LC_ALL=en_US.utf8』来修改语系喔!

      如果想要让系统预设的语系变成英文的话,那么你可以修改系统设定档『/etc/locale.conf』,使LANG这个变数成为上述的内容即可。

    • 第七栏为这个文件的文件名

      这个栏位就是档名了。比较特殊的是:如果档名之前多一个『 . 』,则代表这个档案为『隐藏档』。可以使用ls -a查看到隐藏文件。


    改变文件权限

    常用的三个

    • chgrp:改变文件所属群组
    • chown:改变文件拥有者
    • chmod:改变文件权限

    1. chgrp 改变文件所属群组

    改变的群组必须在/etc/group文件中,也就是你改变的群组必须存在

    chgrp [参数] (群组名称) (文件/文件夹)
    

    常见参数

    • -R:进行递归的秩序变更。

    2. chown 改变文件拥有者

    改变的拥有着必须在/etc/passwd这个文件中,也可以顺便修改群组名称

    chown [-R] (拥有者) [文件/目录)
    chown [-R] (拥有者:群组名称) (文件/目录)
    

    3. chmod 改变文件权限

    改变权限有辆中方式:

    3.1 数字

    文件的权限为:-rwxrwxrwx,9个权限,3个为一组,对应的是owner/group/others

    • r:4
    • w:2
    • x:1

    如果我们设置一个文件权限为:-rwx---rwx

    • user:rwx = 4+2+1 = 7
    • group:--- = 0+0+0 = 0
    • others:rwx = 4+2+1 = 7

    所以我们设置为:chmod [-R] 707 (文件/文件目录)

    3.2 符号

    • user:u
    • group:g
    • others:o
    • all:a
    • +:添加权限
    • -:减少权限
    • =:设置权限
    • r,w,x
    //设置权限-rwxr-xr-x
    chmod u=rxw,go=rx test.txt
    //为user添加权限x
    chmod u+x test1.txt
    //为others删除权限w
    chmod o-w test2.txt
    //对所有添加w删除x权限
    chmod a+w-x test3.txt
    

    相关文章

      网友评论

          本文标题:一学Linux之文件权限

          本文链接:https://www.haomeiwen.com/subject/aqbcwqtx.html