一、组 group
组的概念
- 用户
用户必定属于一个组,就像人生来就有一个国籍。人可以有双国籍,一个用户也能属于多个组。
- 文件、目录
操作文件的用户可分为三类:
- 查看用户所属的组
groups 用户名
- 创建组
groupadd 组名
创建一个用户 tom 并放入到 master 组中:
- groupadd master
- useradd -g master tom
- 修改用户所在的组
添加用户时能指定用户所属的组,root 权限下也能改用户所属的组
usermod -g 新组名 用户名
改变该用户登陆的初始目录:
usermod -d 目录名 用户名
文件组操作
- 查看文件所有者和所在组
ls -ahl
ll
dr-xr-x---. 19 **root** root 4096 7月 20 13:38 root
- 修改文件、文件夹的所有者
ch 为 change 的缩写,chown:change owner
修改单一文件:
chown 新用户名 文件名
递归修改文件夹下的所有文件:-R
chown -R 新用户名 文件夹名
chown 还能同时修改文件所属的组:
chown -R 新用户名:新所在组 文件夹名
- 修改文件、目录所在的组
chgrp 组名 文件名
-
二、文件、目录权限
rwx 权限介绍
Linux 是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限。
Linux 文件基本上分为三个权限属性:可读(r)、可写(w)、可执行(x)。
查看权限:ls -l
或者ll
d**rwxr-xr-x**. 2 root root 4096 2月 3 00:41 桌面
第一栏后面 9 个字符。3*3分成 3 组。每块分别对应了 owner、group、others 对于该文件的 rwx 权限。
rwx(Owner)r-x(Group)r-x(Other)
注意:“-” 不是分隔符,三个三个为一组,别看错了。并且**rwx**
三个字母顺序也是固定的。
这个例子表示的权限是:
- 所有者自己可读,可写,可执行;
- 同一组的用户可读,不可写,可执行;
- 其它用户可读,不可写,可执行。
另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
权限数字表示法:
rwx 权限可以用一个数字来表示
r=4,w=2,x=1
因此rwx = 4+2+1=7
,
数字可以进行组合,通过4、2、1的组合,得到以下几种权限:
- 0(没有权限);
- 4(读取权限);
- 5(4+1 | 读取+执行);
- 6(4+2 | 读取+写入);
- 7(4+2+1 | 读取+写入+执行)
所以所有者、所在组、其他组的权限,可以对应写成一个三位数。
444 r--r--r--
600 rw-------
644 rw-r--r--
666 rw-rw-rw-
700 rwx------
744 rwxr--r--
755 rwxr-xr-x
777 rwxrwxrwx
rwx 作用到文件
[ r ]:代表可读(read):可以读取,查看
[ w ]:代表可写(write):可以修改,但是不代表可以删除该文件
- 删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
rwx 作用到目录
[ r ]:代表可读(read):可以读取,ls 查看目录内容
[ w ]:代表可写(write):可以修改,对目录内文件可以创建、删除和重命名目录
[ x ]:代表可执行(execute):可以进入该目录
三、修改文件权限:chmod 命令
通过chmod
指令,可以修改文件或者目录的权限。change mode(模式)
第一种方式:+、-、=
变更权限
u:所有者 g:所有者 o:其他人 a:所有人(u、g、o 的总和)
- chmod u=rwx,g=rw,o=r 文件名/目录名
- chmod o+w 文件名/目录名
- chmod a-x 文件名/目录名
案例演示:
给abc文件的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限:chmod u=rx,g=rw,o=rx abc
给abc文件的所有者除去执行的权限,增加组写的权限:chmod u-x,g+w abc
第二种方式:数字变更权限
u=rwx,g=rw,o=r 等同于 764chmod u=rwx,g=rw,o=r 文件名/目录名
等同于chmod 764 文件名/目录名