一、组 group

组的概念

  1. 用户

用户必定属于一个组,就像人生来就有一个国籍。人可以有双国籍,一个用户也能属于多个组。

  1. 文件、目录

操作文件的用户可分为三类:

  • 所有者own:谁创建了文件
  • 所在组:文件属于哪个组,这个组里的用户对文件具有相应权限,文件默认属于所有者所在的组
  • 其他组:除文件所在组外的其他组

    用户组操作

  1. 查看用户所属的组
  • groups 用户名
  1. 创建组
  • groupadd 组名

创建一个用户 tom 并放入到 master 组中:

  1. groupadd master
  2. useradd -g master tom
  1. 修改用户所在的组

添加用户时能指定用户所属的组,root 权限下也能改用户所属的组

  • usermod -g 新组名 用户名

改变该用户登陆的初始目录:

  • usermod -d 目录名 用户名

注意:前提是该用户有能进入该目录的权限。

文件组操作

  1. 查看文件所有者和所在组
  • ls -ahl
  • ll

dr-xr-x---. 19 **root** root 4096 7月 20 13:38 root

  1. 修改文件、文件夹的所有者

ch 为 change 的缩写,chown:change owner
修改单一文件:

  • chown 新用户名 文件名

递归修改文件夹下的所有文件:-R

  • chown -R 新用户名 文件夹名

chown 还能同时修改文件所属的组:

  • chown -R 新用户名:新所在组 文件夹名
  1. 修改文件、目录所在的组
  • chgrp 组名 文件名
  • chgrp -R 组名 文件夹名

    二、文件、目录权限

    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 | 读取+写入+执行)

所以所有者、所在组、其他组的权限,可以对应写成一个三位数。

  1. 444 r--r--r--
  2. 600 rw-------
  3. 644 rw-r--r--
  4. 666 rw-rw-rw-
  5. 700 rwx------
  6. 744 rwxr--r--
  7. 755 rwxr-xr-x
  8. 777 rwxrwxrwx

rwx 作用到文件

[ r ]:代表可读(read):可以读取,查看
[ w ]:代表可写(write):可以修改,但是不代表可以删除该文件

  • 删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。

[ x ]:代表可执行(execute):可以被执行

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 等同于 764
chmod u=rwx,g=rw,o=r 文件名/目录名等同于chmod 764 文件名/目录名