Linux组管理和权限管理

组管理和权限管理

Linux组基本介绍

在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。

  1. 所有者
  2. 所在组
  3. 其它组
  4. 改变用户所在的组
    Linux组管理和权限管理

文件/目录所有者

一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。

查看文件的所有者

  1. 指令:ls -ahl
  2. 应用实例:创建一个组police,再创建一个用户tom,将tom放在police组,然后使用tom来创建一个文件ok.txt,看看情况如何
    Linux组管理和权限管理
    Linux组管理和权限管理

修改文件所有者

•指令:
chown 用户名 文件名
•应用案例
要求:使用 root 创建一个文件 apple.txt ,然后将其所有者修改成tom。
Linux组管理和权限管理

Linux组管理和权限管理

组的创建

基本指令
groupadd 组名
应用实例 :
创建一个组, monster 创建一个用户 fox ,并放入到 monster 组中。
Linux组管理和权限管理

文件/目录所在组

当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组。

查看文件/目录所在组

•基本指令
ls -ahl
应用实例
Linux组管理和权限管理

修改文件所在的组

•基本指令
chgrp 组名 文件名
•应用实例
使用root用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 police 组。
Linux组管理和权限管理Linux组管理和权限管理

其它组

除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。

改变用户所在组

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变某个用户所在的组。

改变用户所在组
  1. usermod –g 组名 用户名
  2. usermod –d 目录名 用户名 改变该用户登陆的初始目录。

应用实例
创建一个土匪组(bandit)将tom这个用户从原来所在的police组,修改到bandit(土匪) 组。
Linux组管理和权限管理

权限的基本介绍

ls -l 中显示的内容如下:
-rwxrw-r-- 1 tom police 6 Feb 2 09:39 ok.txt
0 - 9 位说明

  1. 第0位确定文件类型(d,-,l,c,b)
  • :普通文件 d :目录 l :软连接 c :字符设备【鼠标、键盘】 b :块文件,硬盘
  1. 第1-3位确定所有者(该文件的所有者)拥有该文件的权限。—User
    r :读 w :写 x :运行
  2. 第4-6位确定所属组(同用户组的)拥有该文件的权限,—Group
    r :读 w :写 x :运行
  3. 第7-9位确定其他用户拥有该文件的权限—Other
    r :读 w :写 x :运行
  4. 1 : 如果是文件,表示硬链接数,如果是目录册表示目录的子目录个数。
  5. tom : 用户名
  6. police : 组名
  7. 6 : 文件大小 ;如果是目录,测显示4096(目录占用的大小,目录也是特殊的文件)
  8. Feb 2 09:39 : 最后修改时间
  9. ok.txt : 文件名
    Linux组管理和权限管理

rwx权限详解

rwx作用到文件
  1. [r]代表可读 (read) :可以读取,查看
  2. [w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
  3. [x]代表可执行(execute) : 可以被执行
rwx作用到目录
  1. [r]代表可读(read) : 可以读取,ls 查看目录内容
  2. [w]代表可写(write) : 可以修改,目录内创建+删除+重命名目录
  3. [x]代表可执行(execute) : 可以进入该目录
文件及目录权限实际案例

ls-l中显示的内容如下:(记住)
-rwxrw-r-- 1 root root 1213 Feb 20 9:39 abc
10个字符确定不同用户能对文件干什么
第一个字符代表文件类型:文件(-),目录(d),链接(l)
其余字符每3个一组(rwx)读®写(w)执行(x)
第一组 rwx : 文件拥有者的权限是读、写和执行
第二组 rw- : 与文件拥有者同一组的用户的权限是读、写但不能执行
第三组 r-- : 不与文件拥有者同组的其他用户的权限是读,不能写和执行
可用数字表示为:r=4,w=2,x=1 因此 rwx = 4+2+1=7

修改权限-chmod

基本说明 :

通过 chmod 指令,可以修改文件或者目录的权限

第一种方式:+、-、= 变更权限

u : 所有者 g : 所有组 o : 其他人 a : 所有人(u、g、o的总和)

  1. chmod u=rwx , g=rx , o=x 文件目录名
  2. chmod o+w 文件目录名
  3. chmod a-x 文件目录名

•案例演示

  1. 给abc文件的 所有者读写执行的权限 ,给 所在组的用户读执行权限 ,给 其它组用户读执行权限。
    Linux组管理和权限管理
  2. 给abc文件的所有者除去执行的权限,增加组写的权限
    Linux组管理和权限管理
  3. 给abc文件的所有用户添加读的权限
    Linux组管理和权限管理

第二种方式:通过数字变更权限
规则:r=4 w=2 x=1 ,rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名相当于 chmod 751 文件目录名
•案例演示
要求:将/home/abc.txt文件的权限修改成rwxr-xr-x,使用给数字的方式实现:rwx=4+2+1=7r-x=4+1=5r-x=4+1=5。
指令:chmod 755 /home/abc.txt

修改文件所有者-chown

基本介绍
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
-R 如果是目录 则使其下所有子文件或目录递归生效。

案例演示:

  1. 请将 /home/abc.txt 文件的所有者修改成 tom。
    Linux组管理和权限管理2) 请将/home/kkk目录下所有的文件和目录的所有者都修改成tom。
    Linux组管理和权限管理
    Linux组管理和权限管理

修改文件所在组-chgrp

基本介绍

chgrp new group file 改变文件的所有组

案例演示:
  1. 请将/home/abc.txt文件的所在组修改成bandit(土匪)
    chgrp bandit /home/abc.txt
  2. 请将/home/kkk目录下所有的文件和目录的所在组都修改成bandit(土匪)
    chgrp -R bandit /home/kkk
    Linux组管理和权限管理

最佳实践-警察和土匪游戏

police , bandit
jack,jerry :警察
xh,xq :土匪
(1)创建组
bash>groupadd police
bash>groupadd bandit
(2)创建用户
useradd -g police jack
useradd -g police jerry
useradd -g bandit xh
useradd -g bandit xq
(3)创建一个文件,自己可以读写,本组人可以读,其他组没人人的和权限。
Linux组管理和权限管理

(4)Jack 修改该文件,让其它组的人可以读,本组人可以读写。
![在这里插入图片描述](https://img-blog.****img.cn/20200926175301607.png#pic_center
Linux组管理和权限管理

(5) xh 投靠 警察,看看是否可以读写。
先使用root 修改 吃的组 :
Linux组管理和权限管理
使用Jack 给他的家目录 /home/jack 的所在组一个 rx 的权限
Linux组管理和权限管理

xh 需要重新注销,再到 jack 目录就可以操作 jack 的文件