文件属性及权限

deity-night / 2023-08-13 / 原文

简介

linux是多用户系统,不同用户处于不同地位

修改文件/目录所属用户与权限

  •  chown (change owner) : 修改所属用户与组。
  • chmod (change mode) : 修改用户的权限。

查看文件/目录所属用户和组

ll 或者 ls -l

 第一个字母:

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

接下来三个为一组,且均为 rwx 的三个参数的组合

r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute),要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。

 更改文件属组

chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

可以同时更改文件属组

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

 

更改文件9个属性

Linux文件属性有两种设置方法,一种是数字,一种是符号。

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

所以变更权限时就是770:chmod 770

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

 

直接通过符号进行修改

基本上就九个权限分别是:

  • user:用户
  • group:组
  • others:其他

可以使用 u, g, o 来代表三种身份的权限,a 则代表 all,即全部的身份

读写的权限可以写成 r, w, x

 

 例如:将文件权限设置为-rwxr-xr--  (最前面那个中划线(-)表示文件类型的占位)

 chmod u=rwx,g=rx,o=r  test1

查看

# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

去掉权限

#直接做减法
#
chmod a-x test1