组管理和权限管理
Linux组的基本介绍
Linux中每个用户必须属于一个组。
文件、目录所在组
当某个用户创建了一个文件后,默认这个文件的所在组就是该用户的所在组。除文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组。
ls –ahl指令
ls -ahl:查看文件、目录所在组、所有者
chown指令
chown 用户名 文件名:修改文件所有者
chgrp指令
chgrp 组名 文件名:修改文件所在组
usermod 指令
-g 组名 用户名:改变用户所在组
-d 目录名 用户名:改变用户登陆的初始目录
权限介绍
ls -l 中显示的内容如下:
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
0-9 位说明:
第 0 位确定文件类型(d, - , l , c , b)
第 1-3 位确定所有者(该文件的所有者)拥有该文件的权限。—User
第 4-6 位确定所属组(同用户组的)拥有该文件的权限,—Group
第 7-9 位确定其他用户拥有该文件的权限 —Other
rwx权限
- 文件
- [r]代表可读(read):可以读取,查看
- [w]代表可写(write):可以修改,但是不代表可以删除该文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才能删除该文件.
- [x]代表可执行(execute):可以被执行
- 目录
- [r]代表可读(read):可以读取,ls 查看目录内容
- [w]代表可写(write):可以修改,目录内创建+删除+重命名目录
- [x]代表可执行(execute):可以进入该目录
chmod指令
修改文件或目录的权限
-
使用+ - =变更权限,u:所有者g:所有组o:其他人a:所有人
- chmod u=rwx,g=rx,o=x 文件/目录名
- chmod o+w 文件/目录名
- chmod a-x 文件/目录名
-
使用数字变更权限 r=4,w=2,x=1
- chmod 751 文件/目录名 =》chmod u=rwx,g=rx,o=x 文件/目录名
- 如将 /home/abc.txt 文件的权限修改成 rwxr-xr-x, 使用给数字的方式实现:
rwx = 4+2+1 = 7
r-x = 4+1=5
r-x = 4+1 =5
指令:chmod 755 /home/abc.txt
练习 警匪游戏
组:police , bandit
jack, jerry: 警 察
xh, xq: 土 匪
- 创建组
bash> groupadd police
bash> groupadd bandit
-
创建用户
-
jack 创建一个文件,自己可以读写,本组人可以读,其它组没人任何权限
-
jack 修改该文件,让其它组人可以读, 本组人可以读写
-
xh 投靠警察,看看是否可以读写.
-
先用 root 修改 xh 的组 :
-
使用 jack 给他的家目录 /home/jack 的所在组一个 rx 的权限
-
xh 需要重新注销在到 jack 目录就可以操作 jack 的文件
-