组管理和权限管理

1.linux组基本介绍

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


image.png

2.文件/目录 所有者

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

  • 2.1查看文件的所有者

    • 1)指令:ls -ahl
    • 2)应用实例:创建一个组police,再创建一个用户tom,将tom放到police组中,然后使用tom创建一个ok.txt


      image.png
image.png
  • 2.2修改文件所有者

    • 1)指令:chown 用户名 文件名
      *2)应用案例:使用root创建一个文件apple.txt,然后将这个文件的所有者改成tom


      image.png

3.组的创建

  • 1)基本指令:groupadd 组名
  • 2)案例:创建一个组fox,并放入moster组中


    image.png

4.文件/目录 所在组

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

  • 4.1查看文件/目录 所在组

    • 1):基本指令 ls -ahl
  • 4.2修改文件所在组

    • 1):基本指令 chgrp 组名 文件名
    • 2):应用实例-使用root用户创建文件orange.txt,看看当前这个文件属于哪个组,然后将这个文件所在组修改到police组


      image.png

5.其它组

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

6.改变用户所在组

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

  • 6.1改变用户所在组

    • 1) useradd -g 组名 用户名
    • 2)usermod -g 组名 用户名
  • 6.2应用实例

创建一个土匪组(bandit)将tom这个用户从原来所在的police组,修改到bandit组


image.png

7.权限的基本介绍

ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9位说明:
1)第0位确定文件类型(d,-,l,c,b)
2)第1-3位确定所有者(该文件的所有者)拥有该文件的权限。--user
3)第4-6位确定所属组的其他用户(该文件的所在组)拥有该文件的权限。--group
4)第7-9位确定其他组的用户拥有该文件的权限。--other


image.png

8.rwx权限详解

  • 8.1 rwx作用到文件

    • 1)[r]代表可读(read):可以读取,查看。
    • 2)[w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前条件是对该文件所在目录有写权限,才能删除该文件。
    • 3)[x]代表可执行(execute):可以被执行。
  • 8.2rwx作用到目录

    • 1)[r]代表可读(read):可以读取,ls查看目录内容。
    • 2)[w]代表读取(write):可以修改,目录内创建+删除+重命名目录。
    • 3)[x]代表可执行(execute):可以进入该目录。

9.文件及目录权限实际案例

ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
10个字符确定不同用户能对文件干什么
第一个字符代表文件类型:文件(-),目录(d),链接(l)
其余字符每三个一组(rwx) r读 w写 x执行
第一组rwx:文件拥有者的权限是读、写和执行
第二组rw-:与文件在同一组的用户的权限是读、写但不能执行
第三组r--:不与文件同组的其它用户的权限是读不能写和执行
也可用数字表示为:r=4 ,w=2,x=1 因此rwx=4+2+1=7
1 如果是文件:硬链接数 如果是目录:子目录数
root 用户
root 组
1213 文件大小(字节),如果是文件夹,显示4096字节
Feb 2 09:39 最后修改日期
abc 文件名

10.修改权限-chmod

  • 10.1基本说明

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

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

u:所有者 g:所属组 o:其它人 a:所有人(u、g、o的总和)
1)chmod u=rwx,g=rw,o=x 文件目录名
2)chmod o+w 文件目录名
3)chmod a-x 文件目录名
案例演示:
1)给abc文件的所有者读写执行的权限,给所有组读写执行的权限,给其它组读执行的权限


image.png

2)给abc文件的所有者除去执行的权限,增加组写的权限


image.png

3)给abc文件所有用户添加读的权限
image.png
  • 10.3第二种方式:通过数字变更权限

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

11.修改文件的所有者 chown

  • 11.1基本介绍

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

  • 11.2案例演示

1)请将/home/abc 文件的所有者改成tom
chown tom /home/abc
2)请将/home/kkk 目录下的所有的文件和目录的所有者都修改成tom
chown -R tom /home/abc

12.修改文件的所在组 chgrp

  • 12.1 基本介绍

chgrp newgroup file 改变文件的所在组
-R 如果是目录 则使其下所有的子文件或者目录递归生效

  • 12.2案例演示

1)请将 /home/abc 文件的所在组修改成bandit
chgrp bandit /home/abc
2)请将/home/kkk 目录下所有者的文件和目录的所在组都修改成bandit
chgrp -R bandit /home/kkk

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

组:police ,bandit
police下的用户:jack, jerry;
bandit下的用户:xh, xq;

1)创建组
image.png

2)创建用户
image.png

3)jack创建一个文件,自己可以读写,本组人可以读,其它组没有任何权限
image.png

4)jack修改该文件,让其它组人可以读,本组人可以读写
image.png

5)xh投靠警察,看看是否可以读写
先用root用户,把xh的组改成police
image.png

给jack家目录添加所在组用户可读可执行的权限
image.png

14.最佳实践2

建立两个组(student,teacher)
建立四个用户(zhangsan , lisi , xiaoming , xiaohua)
设置密码
把 xiaoming , xiaohua放入student组
把 zhangsan , lisi 放入teacher组
用xiaoming创建一个文件(monkey.java 该文件要输出 i am xiaoming)
给 xiaohua 一个可以 rw 的权限
xiaohua 修改monkey.java 加入一句话(i am xiaohua)

lisi zhangsan 对该文件没有权限
把 lisi放入student组
让 lisi 修改该文件 monkey,加入一句话(“我是lisi,我是学生”)

你可能感兴趣的:(组管理和权限管理)