【Linux 系列笔记】15 组管理和权限管理(Linux 必学的用户管理,你会了吗?还有个小案例哦~~)

作者:MiTu_-_

本帖内容著作权归作者所有,转载请务必保留本文链接


在上一帖 13 Linux 的用户管理 中已经详细地讲了用户管理,顺便也渗透了一些组管理的内容(学习本帖前,需要先对用户管理有一定的认识)。本帖就来详细介绍 组管理和权限管理 的相关内容。


1. 组管理和文件归属

Linux 是多用户多任务操作系统,所有的文件皆有其所有者(Owner)、所在组(group)和其他组的概念了。

我举个栗子吧:你有一本漫画,漫画的所有者就是你自己;如果你愿意和同班共享,那么所在组是你自己的班级,你可以赋予所在组(同班同学)一定权限,如可读不可写权限;如果你还愿意与外班共享,那么外班就是其他组了,你也可以赋予其他组(外班同学)一定权限,如可读不可写。

我现在是用户 xioamin,并创建了一个 1.txt 文件。使用命令
ls -ahl (any human list):查询文件归属。就可以看到文件的所有者所在组了。

ls -ahl
-a(all):所有文件,可以显示隐藏文件。
-h(human):显示人可读出的文件大小。小于 1KB 以 B 显示;小于 1G 以 KB 显示。
-l(list):以长列表显示。

在这里插入图片描述
a. 所有者
1)chown(change owner):修改文件所有者(所有者改变,所在组不变)(以下指令都需要在自己目录下才可执行,如 /home/xiaomin,学完本帖便可以知道为此道理了,请学完后再回来理解这句意思)

chown 用户名 文件名
例:chown Tom 1.txt

b. 所在组
1)groupadd:添加组。

groupadd 组名
例:groupadd student

2)useradd -g:添加用户时直接加入组中。(之后要 passwd 指定密码)

useradd -g 组名 用户名
例:useradd -g student xiaomin

3)chgrp:修改文件所在组。

chgrp 组名 文件名
例:chgrp teacher 1.txt

4)usermod:修改用户所在组或登录的初始目录。

usermod -g 组名 用户名
例:usermod -g teacher xioamin

usermod -d 目录名 用户名(改变改用户登录的初始目录)

c. 其他组
除文件所在组的其他附加组。


2. 权限管理

1)ls -l / ll 指令基本介绍

之前我们讲的指令 ls -l(或 ll)中,它会列出很多内容,其中就包括权限的情况,我们来深入了解这个指令。
1)ls -l(或 ll):列出当前目录文件详细信息。

结果:①文件类型 ②所有者权限 ③所在组权限 ④其他组权限 ⑤硬链接数 ⑥所有者 ⑦所在组 ⑧文件或目录大小 ⑨最后修改时间 ⑩文件名

在这里插入图片描述
rwx 权限详解
rwx 作用于不同文件类型产生的效果是不同的:

1)作用到文件

  • [ r ]:代表可读。
  • [ w ]:代表可写:可以修改,但不代表可以删除文件,删除一个文件的前提条件是对该文件所在的目录有写权限,才可以删除该文件。
  • [ x ]:代表可执行:可以被执行。

2)作用到目录

  • [ r ]:代表可读。
  • [ w ]:代表可写:可以修改(创建、删除、重命名)。
  • [ x ]:可以执行:可以进入该目录。

rwx 还可以用数字来表示:r = 4,w = 2,x = 1,因此 rwx = 4+2+1 = 7.

具体了解更详细的 ls -l / ll 指令可以跳转此贴:ls -l / ll 指令详解


2)权限管理

1)chmod(change file mode bits):修改文件或者目录的权限。

chmod 权限 文件或目录名

第一种方式+ - = 改变权限

u(user):所有者   g(group):所在组   o(other):其他组   a(all):所有人(u、g、o 的总和)

例:

chmod u=rwx,g=rx,o=r 文件或目录名(文件所有者有读、写、执行权限;所在组用户有读、执行权限;其他组成员有读权限)
chmod o+w      文件或目录名(其他组用户可以有写权限)
chmod a-x       文件或目录名(文件的所有用户都无可执行权限)

在这里插入图片描述

第二种方式:通过数字改变权限,顺序为 u g o(二进制权 000 001(x) 010(w) 011 100(r ) 101 110 111)

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

例:

chmod 751 文件或目录名(相当于 rwxr-x–x )

下面的指令虽然在上面讲过了,但是在了解了之前的内容后,再来看,就会印象更深刻了。
2)chown(change owner):修改文件所有者 (+ 所在组)。

chown 用户名     文件或目录名
chown 用户名:所在组  文件或目录名
-R:如果是目录,则使其下所有子文件或目录递归生效

例:

chown xiaomin:student 1(将文件1 的所有者和所在组分别改为 xiaomin student)
chown -R xiaomin 1(将目录1 和 1下的所有文件的所有者改为 xioamin,所在组不变)

3)chgrp(change group):修改文件所所在组。

chown 所在组 文件或目录名
例:chgrp -R teacher 1(将目录1 和 1下的所有文件的所在组改为 teacher)

3.案例

1)有两个组:Class1、Class2
Class1 组里有Xiaomin 和 Xiaohon;Class2 组里有 Tom。老师是 root 用户。
在这里插入图片描述

2)Xiaomin 创建了一个文件 test.txt,权限为 rw-rw-r–
所以只有 Xiaomin 和 Xiaohon 可以对 test.txt 读写,而 Tom 只能读。但是Xiaohon 和 Tom 没有读Xiaomin 目录的权限,所以也就不知道 Xiaomin 里有 1.txt 这么个文件。
在这里插入图片描述
在这里插入图片描述
3)老师(root)将 Xiaomin 目录对本班用户开放可读可执行(x 是可以进入到 Xiaomin 目录,r 是可以读 Xiaomin 目录里的内容)。这时小红就可以进到 Xioamin 目录了。
在这里插入图片描述
在这里插入图片描述

4)Tom 想要也能写 1.txt 文件
此时有三种方法:
①Xiaomin 把 1.txt 文件给其他组写权限,Xiaomin 告诉 Tom 有1.txt 这么个文件
在这里插入图片描述
在这里插入图片描述

②但这样风险较大,Xiaomin 不想让 Classn 的成员听到这个消息,他让老师(root)将 Tom 修改到 Class1 组里。

在这里插入图片描述
这时要把 Tom 用户重新登录才可进 xiaomin 目录里。

在这里插入图片描述
③老师(root)把 Xiaomin 目录给其他组读和执行权限,并且 Xiaomin 把 1.txt 给其他组写权限。风险也大,Classn 组成员可能改动内容。
在这里插入图片描述



学完本帖请回到开头红色字体理解那句话的含义!!!相信你一定会大有收获 QoQ~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值