linux 文件目录权限命令

文件目录权限定义
[root@host214 test]# ll
total 4
-rw-r--r--. 1 root root    0 Jun 11 10:11 file01.txt
drwxr-xr-x. 2 root root 4096 Jun 11 10:11 test

创建文件和目录之后显示其信息,前面都有10位数的信息,第一位表示文件类型,常用的文件类型包括d 目录、- 普通文件、b块设备、| 链接文件、 c 字符文件 、p 管道文件、 s 套接字文件;

后面9位每3位一组,分别表示所属用户/属主(u)、所属用户组/属组(g)以及其他用户(o)对文件或目录的访问权限,每组的3位信息分别表示r (读)、w(写)、x(可执行),每组可以转换为对应的十进制数字表示,比如111(rwx)—>7、101(r-x)->5,对应位置上的-表示不具备对应的权限,rw- 表示具备读写权限,不具备可执行权限;

三种权限对应的操作

r(读) w(写) x(可执行)
文件 查看内容 cat 修改文件内容 vi 允许执行当前文件 sh ./
目录 查看目录下的文件 ls 修改文件 rm 允许进入当前目录 cd ./
文件目录权限修改

umask

创建一个文件或目录时,都会有一个默认的访问权限;比如新建文件的默认访问权限为-rw-rw-rw-,创建目录的默认访问权限是drwxrwxrwx ,而umask值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值。可以使用umask命令查看umask的值

[root@host214 ~]# umask
0022

后面三位022与普通权限(rwx)有关,第一个0(022)表示与所属用户(属主)的访问权限有关,表示从用户权限减0,也即权限不变,文件的拥有者的权限是默认权限;中间的2(022)表示与组权限有关,由于w=2,表示从组的访问权限减2,也就是去掉写权限,最后的2(022)类似,表示从其他用户的默认访问权限中去掉写权限

[root@host214 test]# umask
0022
[root@host214 test]# umask -S
u=rwx,g=rx,o=rx

umask 命令显示的为umask的数字值,还可以使用命令 umask -S 来显示umask的符号值:

普通文件的默认最大访问权限是666,目录的默认最大访问权限是777,umask的值是022,

[root@host214 test]# ll
total 4
-rw-r--r--. 1 root root    0 Jun 11 11:33 file01.txt
drwxr-xr-x. 2 root root 4096 Jun 11 10:11 test

创建文件和目录的所有者所具备的访问权限则分别是644([rw- rw- rw-)]- [rw- r-- r--] = [--- -w- -w-] = 022 )和755([rwx rwx rwx] - [rwx r-x r-x] = [--- -w- -w-] = 022

也可以通过umask修改umask的值

[root@host214 test]# umask
0022
[root@host214 test]# umask 002
[root@host214 test]# umask
0002
[root@host214 test]# touch test.txt
[root@host214 test]#  mkdir test
[root@host214 test]# ll
total 4
drwxrwxr-x. 2 root root 4096 Jun 11 11:43 test
-rw-rw-r--. 1 root root    0 Jun 11 11:43 test.txt

可以看到目录和文件的默认访问权限分别变成了rwxrwxr-xrw-rw-r--

chmod

用于改变文件或目录的权限,用户可以对文件和目录的访问权限进行控制;

主要有两种方式:

1、chmod [who] [+ | - | =] [mode] 文件名

who 可以是u、g、o、a的任意一个或它们之间的任意组合

u 表示用户,即文件或目录的所有者;

g 表示同组用户,即和文件属主具有相同组Id的用户

o 表示其他用户

a表示所有用户,它是系统默认值

操作符号+、-、= 分别表示添加某个权限、去掉某个权限、赋给指定的权限,如果之前已拥有权限,就移除掉已拥有的权限

mode 可以是r/w/x /X/s/t/u/g/o的任意组合

文件名支持通配符

[root@host214 test]# chmod a+x  file01.txt
[root@host214 test]# ll
total 4
-rwxr-xr-x. 1 root root    0 Jun 11 10:11 file01.txt
drwxr-xr-x. 2 root root 4096 Jun 11 10:11 test

2、也可以用数字的形式表示

chmod [mode] 文件名

0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,设置权限时是将其累加,以设置读写权限为例,就是2+4 =6;766 表示所属用户拥有读写以及可执行权限(7=1+2+4)、同一用户组的其他用户拥有读写权限(6=2+4)、其他用户拥有读写权限(6=2+4)

[root@host214 test]# chmod 755 file01.txt
[root@host214 test]# ll
total 4
-rwxr-xr-x. 1 root root    0 Jun 11 10:11 file01.txt
drwxr-xr-x. 2 root root 4096 Jun 11 10:11 test

chown

可以更改文件或目录的属主和属组

chown [选项] 用户或组 文件

  • -R 递归式地改变指定目录及其下的所有子目录和文件的拥有者。
  • -v 显示chown命令所做的工作。
[root@host214 test]# ll
total 4
-rw-r--r--. 1 root root    0 Jun 11 11:01 file01.txt
[root@host214 test]# chown   zxin10:zxin10 file01.txt
[root@host214 test]# ll
total 4
-rw-r--r--. 1 zxin10 zxin10    0 Jun 11 11:01 file01.txt

chgrp

改变文件或目录所属的组

chgrp [选项] group filename

  • -R递归式地改变指定目录及其下的所有子目录和文件的拥有者。
posted @ 2020-06-11 16:50  枫叶艾辰  阅读(778)  评论(0编辑  收藏  举报