大家好,这是博主第一次写有关Linux的内容,这部分我将围绕Linux的权限来讲解。希望大家能够有所收获,如有错漏欢迎指出。
Linux权限的概念
Linux里面有两种用户:超级用户和普通用户
超级用户:就是root账户,它可以在linux系统下做任何事情,不被约束
普通用户:在linux下只能做有限的事情,收到权限的限制
超级用户的命令提示符是 #
普通用户的命令提示符是 $
命令:su 用户名
功能:切换用户
例如,要从root用户切换到普通用户yun_che:
我们就从root用户切换到了普通用户
那么从普通用户切换到root呢?
也是一样的 su root(root可以省略)
当然切换到root的时候是需要输入对应的root密码
Linux权限管理
1.文件访问者的分类 (人)
1.文件和文件目录的所有者 :u -- user
2.文件和文件目录的所有者所在的组的用户 :g -- group
3.其他用户:o -- others
2.文件类型和访问权限(事物的属性)
对于任意一个文件来讲
2.1文件类型
2.2基本权限
1.读(r) :read对文件而言,具有读取文件内容的权限;对目录来讲,具有浏览该目录信息的权限
2.写(w) :write对文件而言,具有修改文件内容的权限;对目录来讲,有移动删除里面文件的权限
3.执行(x) :execute对文件而言,具有执行文件的权限;对目录来讲,具有进入目录的权限
4. - :表示不具有该项权限
3.文件权限值的表示方法
1. 字符表示方法:r w x
r代表可读,w代表可写,x代表可执行
按照前面例子来看
文件所有者的权限是可读可写
文件所属组的权限是可读可写
其他用户的权限是只可读
2. 8进制表示方法
8进制的数由0-7组成,那么对于一位数的8进制数来讲对应的0-7对应的2进制为:
000 到111这样就将一个人的可能有的权限表示完了
这样哪一位有1就可以代表对应位的权限拥有
例如
001 --- --z 011 --- -wz
101 --- r-z 111 --- rwz
4.文件访问权限的相关设置方法
1.指令:chmod
功能:设置文件或目录的访问权限
注意:chmod只有文件拥有者和root才可以使用改变文件权限
chmod命令权限值的格式
a)用户表示符+/-/=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:
u:拥有者
g:所属组
o:其他用户
a:所有用户
例子:
chmod u+w test.txt
chmod o-x test.txt
chmod a=x test.txt
b)三位8进制数字
例子:
chmod 664 test.txt
chmod 640 test.txt
6 --- 110 --- rw-
4 --- 100 --- r--
通过8进制数就可以表示这三个权限
2.指令:chown
功能:修改文件或目录的拥有者
改变文件拥有者chown
一般来讲需要别人的同意才行
如果没有同意就会显示Operation not permitted
或者你使用root账户强行修改才行
例子:
chown user1 f1.c
3.指令:chgrp
功能:修改文件或目录的所属组
例子:
chgrp user1 /abc/d1
4.指令:umask
功能:查看或修改文件掩码
新建文件夹默认权限= 666
新建目录默认权限 = 777
但是实际上我们创建文件或者目录的时候会发现:
普通文件权限为:664
目录文件为:775
为什么呢?
就是因为权限掩码的存在
我们是通过最终权限 = 默认权限 & (~权限掩码)的操作来进行修改默认权限的
一般权限掩码可以查到为:0002
我们比如拿普通文件的默认权限666来计算一下最终掩码吧:
umask 0001就可以修改umask成0001了
对于一个目录来讲:
目录文件的:
r:是否允许我们查看指定目录下的文件内容
w:是否允许我们在当前目录下进行创建,更改,删除
x:是否允许用户进入对应的目录
粘滞位:
1.普通用户的家目录权限是700,我在自己的家目录中创建文件,别人是无法看见和进入修改的
2.有时候,我们需要多个用户进行文件数据的共享
由1,2就知道了我们需要一个共享的目录,不能在任何人的家目录下
但是这个目录敞开权限就会导致别人恶意删除我们的文件
3.一个文件能否被删除,并不由文件本身决定,由这个文件所在的目录决定
4.如果我们去除了共享目录的w权限,虽然可以避免他人恶意删除我们的文件,我们也同时无法创建文件了。那么共享目录共享在哪里?
5.粘滞位:给目录设置,一般是共享目录,大家可以进行在目录进行各自文件的增删查改,只允许文件拥有者和root账户可以删除,其他人一概不允许。t就是一种特殊的x权限
chmod +t /home/ 加上粘滞位
当一个目录被设置了“粘滞位”(chmod +t)
该目录下的文件只能由:
1.超级管理员删除
2.该文件的所有者删除
结语
希望大家看完之后能够有所收获,我会持续的更新之后的相关内容,大家可以多多关注。
多多点赞 + 收藏,谢谢大家!!