Linux 实操篇⑤(组管理:文件所有者、所属组、其他组;权限管理:rwx 权限详解 0-9 位说明 、修改文件权限 chmod、修改文件/目录所有者 chown、修改文件/目录所在组 chgrp)

目录

第九章 组管理

9.1 Linux 组基本介绍

9.2 文件/目录 所有者 

9.2.1 查看文件的所有者 

9.2.2 修改文件所有者

9.3 组的创建

9.3.1 基本指令 

9.3.2 应用实例

9.4 文件/目录 所在组

9.4.1 查看 文件/目录 所在组 

9.4.2 修改 文件/目录 所在的组 

9.5 其它组

9.6 改变用户所在组

9.6.1 改变用户所在组 

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

9.6.3 应用案例

第十章 权限管理 

10.1 权限的基本介绍

10.1.1 0-9 位说明 

10.2 rwx 权限详解 (难点)

10.2.1 rwx 作用到文件 

10.2.2 rwx 作用到目录

10.3 文件及目录权限实际案例 

10.3.1 对hello.txt文件的信息内容进行 分析

10.3.2 用数字表示对应的权限

10.4 修改文件权限 chmod  

10.4.1 基本说明

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

10.4.3 第二种方式:通过数字变更权限

10.5 修改文件/目录所有者 chown

10.5.1 基本指令

10.6 修改文件/目录所在组 chgrp

10.6.1 基本指令

10.6.2 案例演示​​​​​​

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

10.8 课后练习

10.9 课后练习 2,完成如下操作


第九章 组管理

9.1 Linux 组基本介绍

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

1) 所有者:一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。 
2) 所在组:当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组(默认)。
3) 其它组:文件的所有者和所在除组外,系统的其它组 都属于 文件的其它组。

9.2 文件/目录 所有者 

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

9.2.1 查看文件的所有者 

指令:ls –ahl 

应用案例:

9.2.2 修改文件所有者

指令:chown 用户名 文件名

应用案例:
要求:使用 root 创建一个文件 apple.txt ,然后将其所有者修改成 tom
命令:chown tom apple.txt  

9.3 组的创建

9.3.1 基本指令 

groupadd 组名 

9.3.2 应用实例

创建一个组, ,monster
groupadd monster

创建一个用户 fox ,并放入到 monster 组中
useradd -g monster fox  (新建fox用户,并设置fox用户所属的组为monster)

9.4 文件/目录 所在组

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

9.4.1 查看 文件/目录 所在组 

基本指令:ls –ahl 

应用实例:使用 fox 来创建一个文件,看看该文件属于哪个组。 
因为我们需要用 fox 用户来登录,先给 fox 指定密码。
 
退出登录,使用 fox 进行登录,输入用户名、密码


查看文件的所在组

9.4.2 修改 文件/目录 所在的组 

基本指令:chgrp 组名 文件名 

应用实例: 使用 root 用户创建文件 orange.txt ,看看当前这个文件属于哪个组,然后将这个文件所在组,修改到 fruit 组。

步骤一:使用root用户登录linux 

步骤二:创建fruit组
指令:groupadd fruit

步骤二:创建 orange.txt 文件
指令:touch orange.txt

 步骤三:将orange.txt文件所在组修改为 fruit 组。

9.5 其它组

        文件的所有者和所在除组外,系统的其它组 都属于 文件的其它组。

9.6 改变用户所在组

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

9.6.1 改变用户所在组 

usermod –g 新组名 用户名 

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

usermod –d 目录名 用户名 (特别说明:用户需要拥有进入到新目录的权限)

9.6.3 应用案例

将 zwj 这个用户从原来所在组,修改到 wudang 组
命令:usermod -g wudang zwj

第十章 权限管理 

10.1 权限的基本介绍


权限这一列一共有 10 位 (0、1、2、3、4、5、6、7、8、9)

10.1.1 0-9 位说明 

第 0 位:用来表示文件类型(d, - , l , c , b)
l 是链接,相当于 windows 的快捷方式

d 是目录,相当于 windows 的文件夹

- 是普通文件

c 是字符设备文件,鼠标,键盘

b 是块设备,比如硬盘

第 1-3 位:文件的所有者拥有该文件的权限。---User
第 4-6 位:文件所在组的用户拥有该文件的权限。---Group
第 7-9 位:文件所属组除外,其他组拥有该文件的权限 ---Other 

10.2 rwx 权限详解 (难点)

rwx权限要分两个清快,第一个是作用到文件是什么权限,第二个是看作用到目录是什么权限。

10.2.1 rwx 作用到文件 

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

10.2.2 rwx 作用到目录

1) [ r ]代表可读(read):可以读取,可以查看目录内容 (可以查看目录下面有哪些文件)
2) [ w ]代表可写(write):可以修改,可以对目录内容创建+删除+重命名目录
3) [ x ]代表可执行(execute):可以进入该目录

10.3 文件及目录权限实际案例 

10.3.1 对hello.txt文件的信息内容进行 分析

-rwxrw-r-- 1 root root 1213 Feb 2 09:39 hello.txt

        10个字符用来确定不同用户能对文件执行什么样的操作,第一个字符代表文件类型有:l - d c b 。其余字符每 3 个一组(rwx);读(r) 写(w) 执行(x)。可以看到,hello.txt文件的所有者是 root ,所在组是root组。

第一个字符 - :表示 hello.txt 文件是一个普通的文件
第一组 rwx: 文件所有者能对 hello.txt 文件进行读、写、执行的操作。
第二组 rw- : 文件所在组的用户能对hello.txt文件进行读、写操作。但没有执行权限。
第三组 r-- :  不与文件所有者同组的其他用户 能对 hello.txt 文件进行 读 操作,但没有写 和 执行权限。

1:如果是一个文件,直接显示1, 如果是目录,表示子目录和子文件个数的总和。
root:文件的所有者用户。
root:文件所在的组。
1213:文件的大小(字节),如果是文件夹,显示 4096 字节。
Feb 2 09:39 :最后修改日期。
abc :文件名。

10.3.2 用数字表示对应的权限

可用数字表示为:r=4,w=2,x=1 因此 rwx=4+2+1=7 , 数字可以进行组合

10.4 修改文件权限 chmod  

10.4.1 基本说明

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

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

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 文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
命令:chmod u=rwx,g=rx,o=rx abc

2) 给 abc 文件的所有者除去执行的权限,增加组写的权限
命令:chmod u-x,g+w abc
可以看见 所有者的执行权限移除了,所在组新增了写的权限

3) 给 abc 文件的所有用户添加读的权限
命令:chmod a+r abc
此时所有者,所在组,其他组都被加上读的权限

10.4.3 第二种方式:通过数字变更权限

r=4 w=2 x=1     rwx=4+2+1=7 

数字对应的权限值:

rwx = 4+2+1 = 7

rw- = 4+2+0 = 6
r-x = 4+1+0 = 5

r-- = 4+0+0 = 4

-wx = 0+2+1 = 3

-w- = 0+2+0 = 2

--x = 0+0+1 =1

chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件/目录名 

案例演示 

要求:将 /home/abc.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现。
命令:chmod 755 /home/abc.txt

10.5 修改文件/目录所有者 chown

10.5.1 基本指令

改变所有者:chown newowner 文件/目录   (newowner 表示 新的所有者)
改变所有者和所在组:chown newowner:newgroup 文件/目录   (newgroup表示 新的所在组)
-R:如果是目录 则使其下所有子文件或目录递归生效 

案例演示
1) 请将 /home/abc.txt 文件的所有者修改成 tom
命令:chown tom /home/abc.txt 

执行指令:chown tom /home/abc.txt 

2) 请将 /home/test 目录下所有的文件和目录的所有者都修改成 tom
命令:chown -R tom /home/test 


执行命令:chown -R tom /home/test 

10.6 修改文件/目录所在组 chgrp

10.6.1 基本指令

修改所在组:chgrp newgroup 文件/目录

10.6.2 案例演示​​​​​​

案例一:请将 /home/abc .txt 文件的所在组修改成 shaolin (少林)
首先创建组:groupadd shaolin


执行命令:chgrp shaolin /home/abc.txt

案例二:请将 /home/test 目录下所有的文件和目录的所在组都修改成 shaolin(少林)
指令:chgrp -R shaolin /home/test
此时test目录所在组是 king

执行命令:chgrp -R shaolin /home/test

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

police , bandit(警擦组和土匪组)
警察:jack, jerry(jack,jerry属于警擦组)
土匪:xh,xq (xh,xq属于土匪组)

1)创建组:groupadd police ; groupadd bandit 

2)创建用户:
useradd -g police jack ; useradd -g police jerry
useradd -g bandit xh; useradd -g bandit xq

3)jack 创建一个文件,自己可以读 r 写 w,本组人可以读,其它组没有任何权限
设置 jack 密码,使用 jack 登录; vim jack.txt;chmod 640 jack.txt;

使用 jack 登录

首先创建一个文件 jack.txt,执行命令:vim jack.txt;


当前jack.txt文件的权限为:所有者可以读写,所在组的用户只能读,其他用户只能读。

执行chmod 640 jack.txt;修改之后的权限为:所有者可以读 r 写 w,所在组的用户只能读,其它组没有任何权限。

4) jack 修改该文件,所在组的用户可以读,让其它组的用户可以读。

5) xh 投靠 警察。 
执行命令:usermod -g police xh  (这条命令必须使用root,只有root用户有权限修改,其他用户没有权限)

6) 测试,看看 xh 是否可以读写,xq 是否可以读写;

小结论,如果要对目录内的文件进行操作,需要拥有对该目录的相应权限 。

使用jack用户登录,修改jack目录所在组的权限为:可读、可写、可执行。命令:chmod 770 jack

因为现在jack和xh都属于police组,而jack目录的权限允许所在组的用户进行读写执行操作,所以,我们再进入jack目录就可以进去了

因为jack.txt文件允许所有组的用户可以读,而xh和jack都属于police组,所以我们可以读取jack.txt文件的内容。

因为jack.txt文件不允许所有组的用户写和执行。所以使用xh用户是修改不了的。

使用jack用户,修改jack.txt文件所在组的用户权限为可读,写。

此时,再次使用xh用户对jack.txt文件进行修改

10.8 课后练习

练习文件权限管理, 完成如下操作. 

1)建立两个组(神仙(sx),妖怪(yg))

2)建立四个用户(唐僧,悟空,八戒,沙僧)

3)设置密码

4)把悟空,八戒放入妖怪 唐僧 沙僧 在神仙

5)使用悟空用户登录,并用悟空建立一个文件 (monkey.java 该文件要输出 i am monkey)

6)给八戒一个可以 r w 的权限

 7)八戒修改 monkey.java 加入一句话( i am pig)
使用悟空用户修改 monkey.java所在组的用户权限为 可读,可写,可执行。


 使用bj用户进行修改

8)唐僧 沙僧 对该文件没有权限

 9)把 沙僧 放入妖怪组

修改完ss用户之所在组之后,如果没有生效,请退出重新登录。

10)让沙僧 修改 该文件 monkey, 加入一句话 ("我是沙僧,我是妖怪!");

11)对文件夹 rwx 的细节讨论和测试!!!
        x: 表示可以进入到该目录, 比如 cd
        r: 表示可以 ls , 将目录的内容显示
        w: 表示可以在该目录,删除或者创建文件   

10.9 课后练习 2,完成如下操作

1) 用 root 登录,建立用户 mycentos,自己设定密码
2) 用 mycentos 登录,在主目录下建立目录 test/t11/t1
3) 在 t1 中建立一个文本文件 aa,用 vi 编辑其内容为 ls –al
4) 改变 aa 的权限为可执行文件[可以将当前日期追加到一个文件],运行该文件./aa
5) 删除新建立的目录 test/t11/t1
6) 删除用户 mycentos 及其主目录中的内容
7) 将 linux 设置成进入到图形界面的
8) 重新启动 linux 或关机

感谢大家的阅读!HZJ,一个在学习路上匍匐前行的小菜鸟!

  • 10
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1. 权限修改(字母方式) 使用 chmod 命令可以修改文件目录权限权限可分为读(r)、写(w)和执行(x)三种权限,对应的字母为“r”、“w”和“x”。 具体使用方法如下: ``` chmod [who] [+|-|=] [mode] 文件/目录名 ``` 其中,who 表示要修改权限对象,可以是 u(所有者)、g(所属)、o(其他用户)或 a(所有用户)。 + 表示添加权限,- 表示删除权限,= 表示设置权限。 mode 表示要修改权限类型,可以是 r、w、x 或它们的合。 例如: ``` chmod u+x file.txt # 给文件所有者添加执行权限 chmod g-wx dir # 删除目录所属的写和执行权限 chmod o=rw file.txt # 设置文件其他用户的读和写权限 chmod a+rw file.txt # 给文件所有用户添加读和写权限 ``` 2. 权限修改(数字方式) 除了字母方式,chmod 命令还可以使用数字方式修改权限。 数字方式使用三个八进制数来表示权限,每个八进制数对应一权限。其中,第一个八进制数表示所有者权限,第二个八进制数表示所属权限,第三个八进制数表示其他用户的权限。 每个八进制数的值为三个二进制数相加的结果,分别对应读、写和执行权限,其中读权限的值为 4,写权限的值为 2,执行权限的值为 1。 例如: ``` r-- = 4 + 0 + 0 = 4 rw- = 4 + 2 + 0 = 6 r-x = 4 + 0 + 1 = 5 rwx = 4 + 2 + 1 = 7 ``` 因此,要将文件 file.txt 的权限设置为所有者可读写、所属可读、其他用户不可访问,可以使用以下命令: ``` chmod 640 file.txt ``` 其中,6 表示所有者有读写权限(4+2=6),4 表示所属有读权限(4),0 表示其他用户没有权限。 3. 所有者所属修改 使用 chown 命令可以修改文件目录所有者所属。 具体使用方法如下: ``` chown [options] [新所有者:新所属] 文件/目录名 ``` 其中,新所有者和新所属可以是用户名或用户名。如果只想修改所有者所属,可以使用以下命令: ``` chown所有者 文件/目录chown :新所属 文件/目录名 ``` 例如,将文件 file.txt 的所有者修改为 user1,所属修改为 group1,可以使用以下命令: ``` chown user1:group1 file.txt ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值