如何查看linux文件属性以及改变文件权限

文件的属性

在将如何修改linux权限之前我们先了解一下linux的文件属性。首先,我们进入linux的一个目录,输入以下命令:



[root@VM_0_2_centos etc]# ls -al

输入命令后,终端内容如下: [gallery type="columns" size="full" ids="153"] 以图中划线部分为例:



drwxr-x---.  4 root root     4096 May 15 22:56 dhcp

例1 上面显示的文件属性分为七个部分: 第一部分代表了档案的类型不权限(permission),对应上面的内容为:“drwxr-xr-x“。这一部分固定为10个字符。第一个字符代表文档类型,对应关系如下:

  • 当为[ d ]则是目彔。
  • 当为[ - ]则是文档。
  • 若是[ l ]则表示为连结档(link file);
  • 若是[ b ]则表示为装置文件里面的可供储存的接口讴备(可随机存取装置);
  • 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)等。

接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。

  • 第一组为『档案拥有者的权限』,对应例一中的“wxr”(可读、可写、可执行)。
  • 第二组为『同群组的权限』,对应例一中的“r-x”(可读、可执行)。
  • 第三组为『其他非本群组的权限』,对应例一中最后的“---”(没有权限)。

第二部分表示有多少文件连结到此节点(i-node)。对应例一中的数字“4”。

第三部分表示这个文件(或目录)的『拥有者账号』。对应例一中的第一个“root”。

第四部分表示这个文件的所属群组。对应例一中的第二个“root”。

第五部分代表这个文件的容量大小,默认单位为bytes。对应例一中的数字”4096“。

第六部分为这个文件的建档日期或者是最近的修改日期。对应例一中的“ May 15 22:56”。

第七部分为这个文件的文件名。对应例一中的“dhcp”。

如果档文件名前多了一个『 . 』,则代表这个档案为『隐藏文件』.

文件属性与权限

改变文件所属群组

chgrp [-R] dirname/filename ... -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案、目录都更新成为这个群组之意。常常用在变更某一目录内所有的档案的情况。

范例:将install.log的群组改为users这个群组:



[root@centos]# chgrp users install.log

改变文件拥有者

chown [-R] 账号名称 、文件或目录 -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件拥有者都变更。

范例:将install.log的拥有者改为bin这个账号:



 [root@centos]# chown bin install.log

改变文件权限

文件权限的改变使用的是chmod这个命令。但是,权限的设定方法有两种, 分别可以使用数字或者是符号来进行权限的变更。

  • 数字类型改变文件权限 >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 [-R] xyz 档案戒目彔
    xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属怅数值的相加。
    -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有档案、目录都都会变更。

范例:将.bashrc这个档案所有的权限都设定启用



[root@centos]# chmod 777 .bashrc

  • 符号类型改变文件权限 >通过前面的介绍,基本上有九个权限分别是(1)user (2)group (3)others三种身份。那么我们就可以利用u, g, o来代表三种身份的权限。此外, a 则代表 all 亦即全部的身份。读写的权限就可以写成r, w, x。也就是可以使用下面方式:

u
+(加入)
r

chmod
g
-(除去)
w
文件或目录

o
=(设定)
x

a

范例一:设定.bashrc的档案权限成为『-rwxr-xr-x』



[root@centos]# chmod u=rwx,go=rx .bashrc
#注意:u=rwx,go=rx 是连在一起的,中间并没有任何空格符!

范例二:如果不知道原先的文件属性,而我只想要增加.bashrc这个文件的每个人均可写入的权限, 那么我就可以使用下面方法:



[root@centos]# chmod a+w .bashrc

范例三:如果是要将权限去掉而不更改其他已存在的权限,可以使用以下方法:



[root@centos]# chmod a-x .bashrc
手机上阅读

本文由 giao创作, 采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
原文地址:《如何查看linux文件属性以及改变文件权限》

 最后一次更新于2018-09-27

0 条评论

添加新评论

Markdown is supported.