【Linux】权限管理,谁动了我代码?!

目录

一,shell命令以及运行原理

二 ,Linux用户权限

1. su —— 用户切换 

三,权限管理

1. 理解 

 2. 用户

 3. 文件类型

 4. 文件基本权限

 5. 设置文件权限方法

1. chmod ——  修改文件访问权限

2. chown  ——  修改文件拥有者

3. chgrp   ——  修改文件所属组

4. umask —— 文件掩码

6.  对于目录而言的权限

1. r : 

2. x: 

3. w :

4.  t ——粘滞位(目录文件限定)


一,shell命令以及运行原理

Linux 严格意义上说的是一个操作系统,我们称之为 核心(kernel) ,但我们一般用户,不能直接使用 kernel 。而是通过kernel 外壳 程序,也就是所谓的 shell ,来与 kernel 沟通。
从技术角度, Shell 的最简单定义:命令行解释器( command Interpreter )主要包含:
  • 将使用者的命令翻译给核心(kernel)处理。
  • 同时,将核心的处理结果翻译给使用者
shell统称也就是下面的具体的 bash

shell 对比于 windows GUI(图形界面) ,我们操作 windows 不是直接操作 windows 内核,而是通过图形接口,点击,从而完成我们的
操作(比如进入 D 盘的操作,我们通常是双击 D 盘盘符 . 或者运行起来一个应用程序)

 那如何理解shell(外壳程序)功能呢?

1. 方便用户完成操作。

我们如果想打开一个文件,而文件存在磁盘中,不可嫩我们专卖去学习一下机器码,所以我们同过简单指令告诉shell我的请求,让她和内核进行沟通,打开文件。

2. 处理内核返回的消息。

如果用户发送明显的错误请求,shell会直接返回错误信息,不会向内核发送请求,这样也就保护内核

如果多个用户向shell发送多条请求,shell会为每个用户创建一个子进程,再向内核发出请求。

终端:提供了一个用户与系统交互的界面。

总结:终端和bash之间的关系是终端提供了一个用户与系统交互的界面,而bash则是实际执行用户输入命令的工具。用户在终端中输入命令,bash会解释并向shell提出申请让内核执行这些命令,然后将执行结果返回给用户。

二 ,Linux用户权限

Linux 下有两种用户:超级用户( root )、普通用户。
超级用户:可以再 linux 系统下做任何事情,不受限制。
普通用户:在 linux 下做有限的事情。
(注意:超级用户的命令提示符是 “#” ,普通用户的命令提示符是 “$”)

1. su —— 用户切换 

命令 su - [ 用户名 ]
功能 :切换用户。
1.   su -     切换root下的 路径(超级管理员) 注意: 一定要和普通用户密码不同

2.   su - [用户名]    当我们在root身份下,使用该指令可以访问任意创建的用户

3.  我们在普通用户下,登陆root,那我们如何回到用户,可不只su - [用户名]。

Ctrl + d  即可

(注意: 我们在普通用户中,运用su - 变成root,其本质是创建一个子进程,而我们回退到原来的普通用户建议使用strl + d,因为su -[用户名]会创建一个新的子进程,没必要叠加这么多的进程)

三,权限管理

权限 = 用户 + 事物的属性(文件属性)

就好比如:我是一名普通的学生,可以随意进出我的宿舍,但我缺无法随意进入校长的办公室。

事物的属性: 比如:面包具有被吃的属性,汽车具有被开的属性,桌子具有被办公的属性。

1. 理解 

我们出来权限就可以通过这两方面进行修改,比如:总统桌在那里,我没有使用的权限是用户受限,桌子没有失掉他的属性;

但如果是总统,而桌子因为长年累月已经不平了,那么就失去了其作为办公的属性。

 2. 用户

1. 拥有者(owner)

2. 所属组(group)

3. 其他    (other)

 3. 文件类型

 - : 普通文件,比如: 文本,动静态库,可执行程序(.exe),源程序

d: 目录文件

c: 字符设备文件:键盘与显示器

b: 块设备文件(block):磁盘

p: 管道文件(pipe):通信

l : 链接文件(link):软链接

 (注:在linux下一切皆文件)

 4. 文件基本权限

 

 5. 设置文件权限方法

1. chmod ——  修改文件访问权限

 语法:chmod [参数] 权限 文件名

常用选项:
-R -> 递归修改目录文件的权限 说明:只有文件的拥有者和root 才可以改变文件的权限

方法一: 

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

比如: 

# chmod u+rw  abc.txt ...支持多文件修改
# chmod o-rx    abc.txt

 

注意:

 方法二: 

 三位8进制数字进行表示

用法: chmod   xxx  [文件名]

2. chown  ——  修改文件拥有者

  语法: chown [参数]   用户名  文件名(支持多文件修改)

  own位与group位都进行修改: chown  [新own] : [新group]  文件名(支持多文件)

(1.   root与普通用户。以root身份修改(我是老大,拿来,给予不用商量)

 在root身份下,直接用 chown [新用户]  [目标文件] —— 拿回来也不用商量

(2.  普通用户之间。普通用户修改(文件给别人,和拿回来都得客客气气地,需要得到允许(需要输入密码))

      方法:

  法一sodo  chown  [新用户名]  [目标文件] —— 现在学的还使用不了sodo

 法二: 用root老大身份切换。先su (不用带- 会保留在普通用户的路径)提升权限,然后对普通用户文件拥有者进行修改。

3. chgrp   ——  修改文件所属组

 语法:chgrp [参数]   用户名  文件名 

 chgrp可以类比于chown,同样地有这样特性:

(1. root老大还是可以直接换所属组。

(2. 普通用户之间得需要用sodo进行权限提升,说人话是得“经过同意后”,才能进行文件所属组的修改。

4. umask —— 文件掩码

功能: 查看,修改文件掩码

文件掩码里面的权限是文件,目录创建时不能拥有的权限

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。假设默认权限是 mask ,则实际创建的出来的, 最终权限 = mask & (~umask)
 
说明 将现有的存取权限减去权限掩码后 ,即可产生建立文件时预设权限。超级用户默认掩码值为 0022 ,普通用户默认为0002

文件默认权限:0666 (“0”这里我们不做解释)

目录默认权限:0777 

那如何减去呢?  采用按位与的方法。

总结:

a.普通文件起始权限:666
   目录文件起始权限:77
b.权限掩码: 在起始权限中,去掉在umask中出现的权限,不能影响其他任何权限。(不同的系统,默认掩码(umask)可能不同)
 

6.  对于目录而言的权限

 1. r : 

功能:在目录外,可以查看目录内容;(注:但如果没有打开权限(x),无法查看详细信息。)

2. x: 

功能:打开目录的权限

面试题: Linux中打开目录的权限是什么?

答案:是 X ——执行权限

3. w :

功能:目录的创建,删除文件或者新目录

思考:但我们会发现会有这样使用场景,允许他人写入文件,但不允许删除其他人的权限,而w权限既能写入,又能删除;

在组内还好,可以查到是谁恶意删除他人文件,但other删除他人文件我们却无能为力,怎么办?

4.  t ——粘滞位(目录文件限定)

功能:作为一个仅目录文件使用的一权限符号,一般对other使用。

与X同一位置

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

7. file指令

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

结语

本小节就到这里了,感谢小伙伴的浏览,如果有什么建议,欢迎在评论区评论;如果给小伙伴带来一些收获请留下你的小赞,你的点赞和关注将会成为博主创作的动力。

  • 44
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 50
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 50
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值