Linux 文件权限

Linux下一切皆文件,Linux中所有内容都是以文件的形式保存和管理的,因此了解文件系统是学习Linux十分重要的一步。而Linux是一个多用户操作系统,多用户操作系统就会涉及到每个用户所拥有的权限,这里我们简单的介绍了Linux的文件权限。

1. 查看文件权限

ls指令是Linux最常用的指令之一,相信接触过Linux的用户都或多或少使用过这个指令。ls是“list”的意思,其作用是列出当前目录下的文件,利用ls -l可以查看文件的详细信息,如:

[root@Ju /]# ls -l
total 64
lrwxrwxrwx.  1 root  root      7 May 21  2021 bin -> usr/bin
dr-xr-xr-x.  5 root  root   4096 Nov 22  2021 boot
drwxr-xr-x   3 mysql mysql  4096 Nov  8  2021 data
drwxr-xr-x  19 root  root   2960 May 19 14:01 dev
drwxr-xr-x. 85 root  root   4096 May 19 14:00 etc
drwxr-xr-x.  3 root  root   4096 Apr 16 13:50 home
lrwxrwxrwx.  1 root  root      7 May 21  2021 lib -> usr/lib
lrwxrwxrwx.  1 root  root      9 May 21  2021 lib64 -> usr/lib64
drwx------.  2 root  root  16384 May 21  2021 lost+found
drwxr-xr-x.  2 root  root   4096 Apr 11  2018 media
drwxr-xr-x.  2 root  root   4096 Apr 11  2018 mnt
drwxr-xr-x.  6 root  root   4096 Apr 14 18:55 opt
dr-xr-xr-x  89 root  root      0 May 19 14:01 proc
dr-xr-x---.  9 root  root   4096 May 19 14:01 root
drwxr-xr-x  24 root  root    740 May 19 14:01 run
lrwxrwxrwx.  1 root  root      8 May 21  2021 sbin -> usr/sbin
drwxr-xr-x.  2 root  root   4096 Apr 11  2018 srv
dr-xr-xr-x  13 root  root      0 May 19 22:01 sys
drwxrwxrwt. 21 root  root   4096 May 25 03:44 tmp
drwxr-xr-x. 19 root  root   4096 Mar 28 16:49 usr
drwxr-xr-x. 19 root  root   4096 May 21  2021 var

上述例子利用ls指令查看了根目录下的文件信息,其每一列的含义大致如下:

举例

这里我们主要关注第一列,即文件类型与权限:

  • 第一个字母代表文件的类型:

    • d代表目录

    • -代表文件

    • l代表连接档(link file)

    • b代表可供储存的接口设备

    • c代表串行端口设备:如键盘、鼠标

  • 后面的九个字母代表了文件的权限:

    • 以三个相连的字母为一组

    • 第一组(前三个字母)代表了文件所有者的权限

    • 第二组代表了文件所属群组的权限

    • 第三组代表了其他用户的权限

    • r代表读权限,w代表写权限,x代表执行权限

drwxr-xr-x.  3 root  root   4096 Apr 16 13:50 home
# d: 代表home是一个目录
# rwxr-xr-x:
#     文件所有者: 拥有读、写、执行的权限
#     文件所属组群的用户: 拥有读、执行的权限
#     其他用户: 拥有读、执行的权限
# 第一个root代表文件的所有者是root
# 第二个root代表文件所属组群是root

注意:root用户是Linux系统中的超级管理员,拥有对文件和目录的全部权限(即使文件权限为000,即----------)。

2. rwx 的意义

对于文件来说:

  • r:表示可读取此文件的实际内容,如读取文本文件的文字内容等

  • w:表示可以修改此文件的内容(但不含删除该文件)

  • x:表示此文件具有可以被系统执行的权限(Windows中文件是否可执行

  • 由扩展名决定,而Linux中则是由x权限决定的)

对于目录来说:

  • r:表示具有读取此目录结构列表的权限,即可以查询该目录下的文件名数据(利用ls指令可以将该目录的内容列表显示出来)

  • w:表示具有修改此目录结构列表的权限,包括:

    • 建立新的文件与目录

    • 删除已经存在的文件与目录(不论该文件的权限为何)

    • 将已存在的文件或目录进行更名

    • 搬移该目录内的文件、目录位置

  • x:代表用户能否进入该目录并让其成为工作目录:

注意:工作目录对于指令的执行是非常重要的,如果你在某目录下不具有x权限, 那么你就无法切换到该目录下,也就无法执行该目录下的任何指令,即使你具有该目录的rw权限。

3. 改变文件属性与权限

3.1 rwx 与 421

在介绍如何改变文件的权限之前,我们需要先了解下文件权限另一种表示方式:

  • r:4

  • w:2

  • x:1

我们都知道,文件的权限是三个一组的,现在遵循上面的对应原则,就可以用数字表示文件的权限。

drwxr-xr-x.  3 root  root   4096 Apr 16 13:50 home
# owner = rwx = 4+2+1 = 7
# group = r-x = 4+1 = 5
# owner = r-x = 4+1 = 5
# 上述文件的权限就可以用755进行表示啦!

3.2 改变文件权限:chmod

# 可以通过chmod指令修改文件权限
# 基本格式: chmod [-R] 权限 文件或目录
#	-R: 进行递归的持续变更,即连同次目录下的所有文件都会变更
[root@Ju test]# ls -l
total 4
drwxr-xr-x 2 root root 4096 May 25 12:20 t1
[root@Ju test]# chmod 000 ./t1
[root@Ju test]# ls -l
total 4
d--------- 2 root root 4096 May 25 12:20 t1
[root@Ju test]# chmod -R 755 ./t1
[root@Ju test]# ls -l
total 4
drwxr-xr-x 2 root root 4096 May 25 12:20 t1

3.3 改变文件所属组群:chgrp

# 基本格式: chgrp [-R] 组群 dirname/filename ...
#	-R: 进行递归的持续变更,即连同次目录下的所有文件都会变更
[root@JuJunjian test]# ls -l
total 8
drwxr-xr-x 2 root root 4096 May 25 12:20 t1
drwxr-xr-x 2 root root 4096 May 25 12:25 t2
[root@JuJunjian test]# chgrp hadoop t1 t2
[root@JuJunjian test]# ls -l
total 8
drwxr-xr-x 2 root hadoop 4096 May 25 12:20 t1
drwxr-xr-x 2 root hadoop 4096 May 25 12:25 t2

3.4 改变文件所有者:chown

# 基本格式: chown [-R] 用户 dirname/filename ...
#	-R: 进行递归的持续变更,即连同次目录下的所有文件都会变更
[root@JuJunjian test]# ls -l
total 8
drwxr-xr-x 2 root hadoop 4096 May 25 12:20 t1
drwxr-xr-x 2 root hadoop 4096 May 25 12:25 t2
[root@JuJunjian test]# chown hadoop t1 t2
[root@JuJunjian test]# ls -l
total 8
drwxr-xr-x 2 hadoop hadoop 4096 May 25 12:20 t1
drwxr-xr-x 2 hadoop hadoop 4096 May 25 12:25 t2

# 同时改变所有者和组群: chown [-R] 用户:组群 dirname/filename ...
#	-R: 进行递归的持续变更,即连同次目录下的所有文件都会变更
[root@JuJunjian test]# chown root:root t1 t2
[root@JuJunjian test]# ls -l
total 8
drwxr-xr-x 2 root root 4096 May 25 12:20 t1
drwxr-xr-x 2 root root 4096 May 25 12:25 t2

参考书籍:鸟哥的Linux私房菜 基础学习篇 第四版

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值