linux 文件权限
1. 查看文件权限
2. rwx 的意义
3. 改变文件属性与权限
3.1 rwx 与 421
3.2 改变文件权限:chmod
3.3 改变文件所属组群:chgrp
3.4 改变文件所有者:chown
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
上述例子利用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