首页 > 编程学习 > linux系统文件权限

linux系统文件权限

发布时间:2022/11/14 10:35:22

目录

shell命令以及运行原理

具体体现(命令行解释器)

Linux权限的概念

Linux下有两种用户:超级用户(root)、普通用户

su指令 

Linux权限管理方面

文件访问者的分类(人)

为什么要有所属组?

文件属性的认识

文件权限读取修改方面

如何读取文件权限? 

如何更改文件权限(chmod)?

更改拥有者(chown)与所属组(chgrp)

更改文件权限(八进制数法)

文件默认权限

为什么有文件的默认权限?

修改umask来验证系统是如何使用umask值

 一个目录需要什么权限?

其他指令

file 

粘滞位

结束语


 

 

 

 

shell命令以及运行原理

 

        Linux严格意义上说的是一个操作系统,我们称之为“核心(kernel)“ ,但我们一般用户,不能直接使用kernel。而是通过kernel的“外壳”程序,也就是所谓的shell,来与kernel沟通
 
        从技术角度,Shell的最简单定义:命令行解释器(command Interpreter)
主要包含:
        将使用者的命令翻译给核心(kernel)处理。
        同时,将核心的处理结果翻译给使用者。
 
        对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)
 
        shell 对于 Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户。
 
 

具体体现(命令行解释器)

        命令行解释器(command line interpreter),命令行解释器是一个单独的软件程序,它可在用户和操作系统之间提供直接的通讯。命令行解释器是解释器的一种,用于对命令行进行解释执行。

表现:你看到的命令行提示符,以及可以输入指令并且可以执行,在Windows下在在计算机搜索栏里面输入“cmd”可以看到命令行提示符,在里面可以进行指令操作

 

cda85ed4f069484682e08848aea480a3.png
 
 
cf0eb0335e6e498eb1996597e804fd00.png

 

 

Linux权限的概念

        权限是用来约束人的(一个或者某些群体,比如视频网站的VIP),还有一点需要注意的是目标对象(视频网站等),本来就没有对应的属性(业务,比如去视频网站刷题),那么所有人就没有这种权限(刷题的权限),通俗点就是权限:一件事是否允许被谁做

综合上:文件权限 = 人(是否被允许) + 文件属性(是否有该属性)!

        一个普通文件即使显示为0字节,它在磁盘中所占的空间一定会大于0

        文件 = 内容(里面的内容) + 属性(创建时间等一系列自己所带的数据)

 

 

Linux下有两种用户:超级用户(root)、普通用户

超级用户:可以再linux系统下做任何事情,不受限制

普通用户:在linux下做有限的事情。

超级用户的命令提示符是“ #”,普通用户的命令提示符是“ $

su指令 

        注意两者密码不要设置成一样的,当想要切换用户的时候,使用su指令,可以进入下图,在输入指定用户的密码就可以完成用户的切换,当然root用户切换普通用户是不需要密码的root用户改普通用户密码也是不需要普通用户密码的,可以理解root用户是凌驾于权限之上的!所以一定要保管好自己root用户的密码哦~

 

 b11d327e0e5c4eae8cc6858b6cc8d5b7.png

 使用 su - 会使root用户重新登入

 3f7b7b21c2fe462d910fef40565ec7a7.png

 root用户切换普通用户是不需要密码的

433cf8092e7a4bc6a117bb9c29ad00b8.png

当我们不想切换root用户而使用root权限的时候可以使用sudo指令,当然有些情况下是不能使用sudo指令的,因为这里面有类似于白名单与黑名单的存在!

8b4d665686bc4b5a95d76cc1735bc483.png

 

 743e19c58f2248128f709cbbc0da9609.png

 

 

Linux权限管理方面

 

文件访问者的分类(人)

 

文件和文件目录的所有者: u---User
文件和文件目录的所有者所在的组的用户: g---Group
其它用户: o---Others

 

 23e6822bd8a441bca516313adc16b074.png

 

为什么要有所属组?

 

bf12a09001184ed4aefaf1197d549db6.png

 

 

文件属性的认识

 

969addb49227452c94d2c99bdd4e2698.png

 

 

 

 dc2e60a8a8b540269dca093e81893d82.png

 

 

aac064c843d94d86843d20c71049aa77.png

 

至于 s:套接口文件,这种文件的类型比较少就不讨论了

 

注意:虽然Linux系统下查看文件并不使用文件后缀名,但是一些诸如gcc等工具可能是会使用文件后缀名来进行区别对待的!

例如下面的gcc编译就不行了 ,gcc无法识别 

a22de38e1b50458c8b276c6c12b6ee64.png

 

文件权限读取修改方面

 

如何读取文件权限? 

 8d1e5bccae7c4732955e0d3e99e9b19b.png

 

如何更改文件权限(chmod)?

为了修改文件的权限,可以使用一个指令来完成

chmod(change mode )
 
功能:设置文件的访问权限
 
格式:chmod [参数] 权限 文件名
 
常用选项:
R -> 递归修改目录文件的权限
说明:只有文件的拥有者和root才可以改变文件的权限
 

使用方法: 

用户表示符+/-=权限字符

+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
 
用户符号:  
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户

文件权限的修改

84810bc063db4ab0973077cb55f5a148.png

 

2b429379f5a0467abcd24e82231972c1.png

 

更改拥有者(chown)与所属组(chgrp)

chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
 

 

chgrp
功能:修改文件或目录的所属组
格式:chgrp [参数] 用户组名 文件名
常用选项:-R 递归修改文件或目录的所属组

 

 

458d021f508b41b6902e7634965c08b1.png

 当然other并没有要修改的,当既不是拥有者也不是所属组的时候就自然是other了

 

更改文件权限(八进制数法)

 

26fad6a380ac42218ba4e69ffedcb802.png

 

 

文件默认权限

 

为什么有文件的默认权限?

 

9b365ba18fd149ac94edfe0cf3d58e15.png

 

修改umask来验证系统是如何使用umask值

5c575beb0b0c4d35b2f5d7aea2ba1afe.png

 

 

 一个目录需要什么权限?

631b0f5ea586415fb19f977a188997b7.png

 

目录的权限总结

可执行权限(x): 如果目录没有可执行权限, 则无法cd到目录中.
可读权限(r): 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
可写权限(w): 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

 

 

其他指令

 

file 

功能说明:辨识文件类型。
语法:fifile [选项] 文件或目录... 
 
常用选项
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容

 

410872213bf84537a87826407a1ef40a.png

 

 

 

 

粘滞位

 

 

 

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由
 
一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

 

e0ea91d517e64ebb9f351eb2af42f06f.png

 即使提权输入也不被允许!当然这里查看文件内容并不是目录的权限而是文件本身的权限

 791fa85b1ce340feb7cb2c76b06bdfc7.png

 

 

关于目录权限的总结 

        目录的可执行权限是表示你可否在目录下执行命令。
        如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
        而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档
        所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档

 

结束语

壮志饥餐胡虏肉,笑谈渴饮匈奴血。待从头,收拾旧山河,朝天阙。

                                                                                ——岳飞《满江红•写怀》

 

Copyright © 2010-2022 dgrt.cn 版权所有 |关于我们| 联系方式