Linux之文件属性及权限管理

文件属性

Linux 是一个多人多任务的环境, 因此文件的权限控制非常重要. Linux中一般将操作文件的身份分为三个类别:owner/group/others,且三种身份各有read/write/execute等权限.
使用ls命令查看当前目录下文件的属性:

ls -al
total 72K
dr-xr-x---. 16 root root 4.0K Mar 18 16:12 .
dr-xr-xr-x. 17 root root  244 Mar 16 14:06 ..
-rw-r--r--.  1 root root    0 Mar  6 11:06 50
-rw-------.  1 root root 1.2K Mar  5 21:20 anaconda-ks.cfg
-rw-------.  1 root root 9.9K Mar 16 14:48 .bash_history
-rw-r--r--.  1 root root   18 May 11  2019 .bash_logout
-rw-r--r--.  1 root root  176 May 11  2019 .bash_profile
-rw-r--r--.  1 root root  176 May 11  2019 .bashrc
drwx------. 14 root root 4.0K Mar  5 15:22 .cache
drwx------. 15 root root  279 Mar 16 14:26 .config
-rw-r--r--.  1 root root  100 May 11  2019 .cshrc
drwx------.  3 root root   25 Mar  5 13:23 .dbus
drwxr-xr-x.  2 root root    6 Mar  5 13:49 Desktop
...

文件属性分为7个部分,从左到右依次是:文件类型和权限,连接数,拥有者,群组,文件容量,修改日期和文件名。

1. 文件的类型与权限(permission)

drwxrwxr-x我们拆分为d rwx rwx r-x 四个部分,第一部分代表文件类型,类型有:

  • [ d ] 表示目录

  • [ - ] 表示文件

  • [ l ] 表示连结档(link file)

  • [ b ] 表示装置文件里面的可供储存的接口设备(可随机存取装置)

  • [ c ] 表示装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

剩余的三个部分分别表示文件拥有者可具备的权限加入此群组账号的权限非本人且没有加入本群组之其他账号的权限。其中rwx分别表示:[ r ]代表可读(read)、[ w ]代表 可写(write)、[ x ]代表可执行(execute)。如果没有权限,就用减号[ - ]表示。

2. 连接数(i-node)

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

3. 拥有者

表示这个文件(或目录)的拥有者账号

4. 群组

在 Linux 系统下,你的账号会加入于一个或多个的群组中。例如p1,p2,p3均属于 people 这个群组,假设某个文件所属的群组为 people,且该文件的权限为(-rwxrwx---),则p1,p2,p3三人对于该文件都具有可读、可写、可执行的权限(看群组权限)。 但如果是不属于people群组的其他账号,对于此文件就不具有任何权限了。

5. 文件容量

代表文件的容量大小,默认单位为 bytes。

6. 修改日期

代表文件创建或最后修改的日期。

7. 文件名

如果为隐藏文件,则以.开头。

更改文件属性和权限

涉及的指令:

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

1. chgrp(change group)

语法:

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

例如,改变文件demo.md的群组为demo:

ls -l
total 8.0K
-rw-r--r--. 1 root root    0 Mar 18 16:24 demo.md
...
chgrp demo demo.md 
ls -l
total 8.0K
-rw-r--r--. 1 root demo    0 Mar 18 16:24 demo.md
...

2. chown(change owner)

chown不但可以改变文件拥有者,也可以改变群组. 语法如下:

chown [-R] 账号名称 文件或目录
chown [-R] 账号名称:组名 文件或目录
# 选项与参数:
# -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都变更

例如:将demo.md的拥有者改为demo:

ls -l
total 8.0K
-rw-r--r--. 1 root demo    0 Mar 18 16:24 demo.md
...
chown demo demo.md 
ls -l
total 8.0K
-rw-r--r--. 1 demo demo    0 Mar 18 16:24 demo.md
...

例如:将demo.md的拥有者和群组都改为root:

chown root:root demo.md 
ls -l
total 8.0K
-rw-r--r--. 1 root root    0 Mar 18 16:24 demo.md
...

3. chmod

改变权限有两种方式:数字类型和符号类型

数字类型

rwx分别代表421,例如当权限为: [-rwxrwx---] 对应的数字则是:

owner = rwx = 4+2+1 = 7

group = rwx = 4+2+1 = 7

others = — = 0+0+0 = 0

数字类型改变权限语法:

chmod [-R] xyz 文件或目录
# 选项与参数:
# xyz : 就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
# -R : 进行递归(recursive)的持续变更,亦即连同次目录下的所有文件都会变更

例如:将demo.md的权限都启用:

ls -l
total 8
-rw-r--r--. 1 root root    0 Mar 18 16:24 demo.md
...
chmod 777 demo.md 
ls -l
total 8
-rwxrwxrwx. 1 root root    0 Mar 18 16:24 demo.md
...

符号类型

在符号类型改变权限的规则中,我们使用ugo来代表usergroupowner三种身份的权限。此外,a 则代表 all 亦即全部的身份, 详见下表:

命令身份操作权限目标
chmodu
g
o
a
+ (加入)
- (除去)
= (设定)
r
w
x
文件 / 目录

例如,将文件demo.md的权限改为-rw-r--r--

chmod u=rw,go=r demo.md 
ls -l
total 8
-rw-r--r--. 1 root root    0 Mar 18 16:24 demo.md
...

例如,增加文件demo.md每个人均可写入的权限:

chmod a+w demo.md 
ls -l
total 8
-rw-rw-rw-. 1 root root    0 Mar 18 16:24 demo.md
...

权限的意义

1.对于文件来说,rwx代表:

  • r (Read):可读取此文件的实际内容, 如读取文本文件的文字内容等

  • w (Write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件)

  • x (eXecute):该文件具有可以被系统执行的权限(类似与window中的exe,bat等)

2.对于目录来说,rwx代表:

  • r (read contents in directory):表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据. 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来

  • w (modify contents of directory):表示你具有修改该目录结构列表的权限,也就是可以对该目录或者其下的文件进行增删改操作

  • x (access directory):目录的 x 代表的是用户能否进入该目录成为工作目录,所谓的工作目录(work directory)就是你目前所在的目录))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值