文章目录
实操篇:组管理
在Linux系统中的每个用户必须属于一个组,不能独立于组外。
在Linux中每个文件有所有者、所在组、其它组的概念。
- 所有者
- 所在组
- 其它组
- 改变用户所在的组
文件/目录的所有者
一般为文件的创建者,谁创建了该文件,就自然的成为该文件的所有者。
-
查看文件的所有者
# 功能描述:查看文件的所有者 ls -ahl # a:查看所有包括隐藏文件;h:表示human,以人方便浏览的方式显示;l:长列表格式
-
修改文件所有者
# 功能描述:修改文件所有者 chown 用户名 文件名 # chown = change owner
文件/目录所在组
组的创建
# 功能描述:创建组
groupadd 组名
所在组
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组。
-
查看文件/目录所在组
# 功能描述:查看文件/目录所在组 ls -ahl
-
修改文件所在的组
# 功能描述:修改所在组 chgrp 组名 文件名 # chgrp = change group
其它组
除文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组。
改变用户所在的组
在添加用户时,可以指定将该用户添加到哪个组中,同样的用 root 的管理权限可以改变某个用户所在的组。
usermod -g 组名 用户名
usermod -d 目录名 用户名 改变该用户登录的初始目录
实操篇:权限管理
rwx权限详解
作用到文件
-
[r]:代表可读(read),可以读取,查看
-
[w]:代表可写(write),可以修改,但是不代表可以删除该文件。
删除该文件的前提条件是对该文件所在的目录有写权限,才能删除该文件。
-
[x]:代表可执行(execute),可以被执行
作用到目录
- [r]:代表可读(read),可以读取,ls 查看目录内容
- [w]:代表可写(write),可以修改,目录内 创建+删除+重命名 目录
- [x]:代表可执行(execute),可以进入该目录
案例
-rwxrw-r-- 1 root root 1213 Feb 2 09:39 abc
文件的硬链接数:统一为1; 目录的大小:统一为4096字节(KB)
文件的大小:单位为字节,且会在文件所有字节的基础上加一个隐藏字节。如ok.txt内容为“hello”,文件大小为6(5+1)字节
权限管理
通过 chmod 指令,可以修改文件或者目录的权限。
+、-、=变更权限
# u:所有者 g:所在组 o:其他组 a:所有人(u、g、o的总和)
chmod u=rwx,g=rx,o=x 文件/目录名
chmod o+w 文件/目录名
chmod a-x 文件/目录名
-
给 abc 文件的 所有者读写执行 的权限,给 所在组读执行 权限,给 其它组用户读执行 权限
-
给 abc 文件的 所有者除去执行 的权限,增加 组写的 权限
-
给 abc 文件的 所有用户增加读 的权限
数字变更权限
# 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 ,使用给数字的方式实现
修改文件所有者
# 改变文件的所有者
chown [选项] newowner file
# 改变文件的所有者和所有组
chown newowner:newgroup file
-R:如果是目录,则使其下所有子文件或目录递归生效
-
请将 /home/abc.txt 文件的所有者修改成 tom
-
请将 /home/kkk 目录下所有的文件和目录的所有者都修改成 tom
应该使用 root 用户操作
改变文件所在组
# 改变文件的所在组
chgrp newgroup file
-
请将 /home/abc.txt 文件的所在组修改成 bandit
-
请将 /home/kkk 目录下所有的文件和目录的所在组都修改成 bandit
实践:警察和土匪游戏
jack、jerry :police xh、xq:bandit
-
创建组
-
创建用户
因为后续需要管理权限,所以需要利用 passwd 指令,指定用户密码。
-
jack 创建一个文件,自己可以读写,本组人可以读,其它组人没有任何权限
利用 jack 账号登录
-
jack 修改该文件,让其它组人可以读,本组人可以读写
-
xh 投靠警察,看看是否可以读写
1)查看 xh 权限
2)投靠 police:利用 root 账户修改 xh 所在组
3)虽然投靠了 police,但仍然进不去 /home/jack ,需要 jack 给 xh 权限。即jack提升所在组权限。
4)测试表示 xh 可以读写 jack01.txt文件