Linux文件属性和权限管理

Linux系统为多用户系统,分为三种不同类型的用户:

1. 所有者(User): 文件的拥有者,即创建文件的用户。

2. 同组用户(Group): 与所有者同一组的用户。

3. 其他用户(Others): 除了所有者和同组用户外的其他用户。

一、查看文件属性和权限

Linux系统下,文件的权限有三种: 读、写、执行。

查看文件的权限(和文件的其他属性)

ls -al   (可简写为 ll)   #隐藏文件(文件名或目录名第一个字符为 . 的文件)也会显示

第一列即为该文件的类型和权限,总共有10个字符位:

第 1 个字符位:表示文件的类型, d 表示目录; - 表示文件; l 表示链接文件; b 表示块设备文件,如硬盘;

c 表示字符设备文件; p 表示命名管道文件; s 表示套接字文件。常见的也就目录 d 和文件 - 

第2-4个字符位:表示所有者的权限,分别为读(r)、写(w)、执行(x),- 表示没有该权限

第5-7个字符位:表示同组用户的权限,分别为读(r)、写(w)、执行(x)

第8-10个字符位:表示其他用户的权限,分别为读(r)、写(w)、执行(x)

二、改变文件属性和权限

 1.  chgrp:即 change group 的简写。改变文件所属群组。

chgrp [-R] groupname dirname/filename 

# -R 表示递归该目录下的所有子目录和文件

例子:修改文件test.py的所属组为 users,该组名不存在则报错

chgrp users test.py 

2. chown:即change owner 的简写。改变文件所有者,此外,还可以顺便修改所属组。

chown [-R] ownername dirname/filename

例子:修改文件test.py的所有者为 delav

chown delav test.py

#顺便修改所属组为root
chown delav:root test.py

3. chmod:改变文件权限

第一种方法:使用数字

chmod [-R] xyz dirname/filename

 Linux文件的基本权限有9个,分别是 user/group/others 三种身份拥有各自的 read/write/execute 权限。

这三种权限可以使用数字来表示:

read: 4

write: 2

execute: 1

 当使用数字来表示权限时,每一种身份各自的权限数字代表需要累加,最大数字为 7

例如:

user = rwx = 4+2+1 = 7
group = r-x = 4+0+1 = 5
others = --- = 0+0+0 = 0

改变文件test.py的权限为上面的,即为

chmod 750 test.py

第二种方法:使用字符

 三种身份 user/group/others 使用字符表示:

user: u

group: g

others : o

 all : a   (全部身份)

三种权限 read/write/execute 使用字符表示:

read: r

write: w

execute: x

例如:

设置文件test.py的权限为 750 

chmod u=rwx,g=rx,o=--- test.py

chmod u=rwx,g=rx,o-rwx test.py

设置文件test.py的权限为 755 

chmod w=rwx,go=rx

把所有的执行权限去除,增加群组的写权限

chmod u-x,g+w test.py

把所有人的写权限去除

chmod a-w test.py

三、目录和文件的权限意义

对于文件,rwx是针对【文件的内容】来设计权限。

read(r):可读取文件的实际内容

write(w):可修改文件内容

execute(x):可被系统执行

对于目录,rwx是针对【目录内的文件名列表】来设计权限。

read(r):可读取目录的文件列表,即查询该目录下的文件名数据

write(w):可在该目录下新建文件或目录;可删除该目录下文件或目录;可重命名该目录下的文件或目录;可移该目录下的文件或目录

execute(x):可进入该目录进行操作

 

猜你喜欢

转载自www.cnblogs.com/delav/p/10778411.html