Linux 中每个用户都属于一个组,每个文件也拥有所有者、所有组、其他组三个概念,而且每一个文件都有相应的读、写、执行三个权限,理解组和权限的概念是至关重要的!
一、所有者、所在组、其他组概念
默认情况下,哪个用户创建了哪个文件(目录),这个用户便是这个文件(目录)的所有者,而这个用户所在的组也就是这个文件(目录)的所有组。除文件的所有者、所在组内的用户外,其他用户都是另外组。
所有者、所有组-
1. chown [user name] [file name]
-R :递归参数,目录下所有子目录和文件都修改
改变文件所有者(change owner) -
2. chgrp [group name] [file name]
-R :递归参数,目录下所有子目录和文件都修改
改变文件所在组(change group)
注:以上都必须得有 root 权限才能更改
关于组与用户的创建、删除、修改内容可看:Linux(五):Linux 用户管理
二、权限总结
ls -l 命令后内容含义:
# drwxr-xr-x
第 1 位 : 文件类型,d 表示目录,- 表示文件,l 表示软连接,c 表示字符设备(鼠标、键盘),b 表示块文件、硬盘
2~4 位 : 所有者拥有的权限
5~7 位 : 所在组拥用的权限
8 ~ 10位: 其他组拥有的权限
其中 r(read)代表可读, w(write)代表可写, x(execute)代表可执行
# 3 guan guan
3 :如果是目录,代表此目录下子目录数。 如果是文件,代表硬链接数
guan guan :分别表示所有者、所在组。
# 4096 8月 7 00:12 Music
4096 :代表文件大小,如果是目录大小则是 4096。
8月 7 00:12 :表示最后的修改时间
Music : 目录或文件名
三、权限修改(chmod)
-
1. 通过 +、-、=、u、g、o、a 修改权限
+:增加权限 -:减去权限 = :直接赋值权限
u:所有者 g:所在组 o:其他组 a:所有人
例如:
chmod u=rwx, g=rx, o=r [file name] # 所有者权限为 rwx,所在组权限为 rw,其他组为 r
chmod g-x, o+x [file name] # 所在组减去 x 权限,其他组增加 x 权限
-
2. 通过数字方式修改权限
将 rwx 看成是一个三位二进制数,按照计算规则可知,在十进制下 r = 4 , w = 2 , x = 1;
通过不通的组合,我们可以得到不通的数值,具体数值如下:
rwx = 7; rw = 6; rx = 5; wx = 3 ;
命令具体使用例子如下:
chmod 777 [file name] # 此命令等同于 chmod a=rwx [file name]
chmod 755 [file name] # 此命令等同于 chmod u=rwx, g=rw, o=rw [file name]
网友评论