尚硅谷linux教程6 组管理和权限管理(难点、重点)
linux组的基本介绍
在 linux 中的每个用户必须属于一个组,不能独立于组外。在 linux 中每个文件有所有者、所在组、其它组的概念。
-
所有者
-
所在组
-
其它组
-
改变用户所在的组
文件/目录所有者
一般为文件的创建者,谁创建了改文件,就自然成了改文件的所有者
查看文件的所有者
1) 指令:ls -ahl
2) 应用实例:创建一个组 police,再创建一个用户 tom,将 tom 放在 police 组 ,然后使用 tom 来创建一个文件 ok.txt,看看情况如何
修改文件的所有者
• 指令:chown 用户名 文件名
• 应用案例
要求:使用 root 创建一个文件 apple.txt ,然后将其所有者修改成 tom
组的创建
基本指令
groupadd 组 名
应用指令
创建一个组, ,monster
创建一个用户 fox ,并放入到 monster 组中
文件目录所在组
当某个用户创建了一个文件后,默认这个文件的所在组就是该用户所在的组。
查看文件所在组
指令 : ls -ahl
修改文件所在组
指令 :chgrp 组名 文件名
应用实例:
使用root用户创建orange.txt,看看当前文件属于哪个组,然后将这个文件所在组修改到police组
其他组
除了文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
改变用户所在组
再添加用户是,可以指定将该用户添加到哪个组,同样的用root权限可以改变某个用户的所在组
改变用户所在组
usermod -g 组名 用户名
usermod -d 目录名 用户名 改变该用户登录的初始目录
创建一个土匪组bandit将tom这个用户从原来所在的police组修改到bandit组
权限管理
权限的基本介绍
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
rwx权限详解
文件及目录权限实际案例
修改权限
指令:-chmod 可以修改文件或者目录的权限
第一种方式:+ 、-、= 变更权限
u:所有者 g:所有组 o:其他人 a:所有人(u、g、o 的总和)
-
chmod u=rwx,g=rx,o=x 文件目录名
-
chmod o+w 文件目录名
-
chmod a-x 文件目录名
• 案例演示
- 给 abc 文件 的所有者读写执行的权限,给所在组读执行权限,给其它组读执行权限。
2)给abc文件的所有者除去执行的权限,增加组写的权限
3)给abc文件的所有用户添加读的权限
通过数字变更权限:
规则:r=4 w=2 x=1 ,rwx=4+2+1=7
chmod u=rwx,g=rx,o=x 文件目录名 相当于 chmod 751 文件目录名
将/home/abc.txt文件的权限修改成rwx r-xr -x,使用数字的方式实现:
rwx = 4+2+1 = 7
r-x = 4+1= 5
r-x + 4+1 =5
chmode 755 /home/abc.txt
修改文件的所有者 chown
chown newowner file 改变文件的所有者
chown newowner:newgroup file 改变用户的所有者和所有组
-R 如果是目录 则使其下所有子文件或目录递归生效
- 请将 /home/abc .txt 文件的所有者修改成 tom
- 请将 /home/kkk 目录下所有的文件和目录的所有者都修改成 tom
使用root用户
修改文件所在组 chgrp
chgrp newgroup file 改变文件的所有组
将/home/abc.txt文件的所在组修改成为bandit土匪组
将/home/kkk目录下的所有的文件和目录的所在组都修改成shaolin(土匪)
最佳实践-警察和土匪游戏
police , bandit
jack, jerry: 警 察
xh, xq: 土 匪
(1) 创建组
bash> groupadd police bash> groupadd bandit
(2) 创建用户
(3) jack 创建一个文件,自己可以读写,本组人可以读,其它组没人任何权限
4)jack修改文件,让其他组可以读,本组人可以读写
(5) xh 投靠 警察,看看是否可以读写. 先用 root 修改 xh 的组 :