Linux权限

一、Linux权限的概念
Linux下有两种用户:超级用户(root)、普通用户。

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

1.1 用户间的切换
命令: su [用户名]
功能: 切换用户。
例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令。
从root用户切换到普通用户是不需要输入密码的。

1.2 使用sudo指令提升用户权限
sudo指令可以使普通用户短暂提升权限,执行一些需要root用户才能执行的命令。
语法为:sudo 要执行的命令。

如果普通用户想要使用这条指令,需要先将普通用户添加到信任列表。
使用root用户用vim打开文件/etc/sudoers进行添加:


在root后面添加一个你的用户名,后面照写即可

wq保存后,在信任列表中的普通用户就可以使用su命令短暂提升权限了。
也可以等学会使用vim再来添加,可以直接切换到roor用户进行相关操作。

二、Linux权限管理
2.1 文件访问者的分类(人)
文件和文件目录的所有者:u—User(文件拥有者)
文件和文件目录的所有者所在的组的用户:g—Group(文件所属组)
其它用户:o—Others

一般情况下,用户新建一个文件,文件的拥有者和所属组默认是这个用户自己。

2.2 文件类型和访问权限(事物属性)
通过ll可以查看详细的文件信息

2.2.1 文件类型
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件

2.2.2 基本权限
读(r/4):Read对文件而言,具有读取文件内容的权限;
对目录来说,具有浏览该目录信息的权限
写(w/2):Write对文件而言,具有修改文件内容的权限;
对目录来说具有删除移动目录内文件的权限
执行(x/1):execute对文件而言,具有执行文件的权限;
对目录来说,具有进入目录的权限
“-”表示不具有该项权限
2.2.3 连接数
连接数对于目录文件,表示它的第一级子目录的个数。每个目录的默认连接数是2,因为每个目录下都有两个隐藏目录.和…分别表示当前目录和上一级目录,父目录里创建一个子目录,父目录的连接数增加1。
对于其他文件,表示指向它的链接文件的个数。

2.2.4 block块
在Linux系统中,文件由元数据和数据块组成。 数据块就是多个连续性的扇区(sector),扇区是文件存储的最小单位(每个512字节)。 块(block)的大小,最常见的是4KB,也就是连续8个sector组成,存储文件数据和目录数据。

所以,“total”的值,是指该目录下所有文件及其子目录所占用块数的总和。

2.3 文件权限值的表示方法
2.3.1 字符和八进制表示方法
字符表示方法    说明    八进制表示方法    二进制
r- -    只读    4    100
-w-    仅可写    2    010
- -x    仅可指向    1    001
rw-    可读可写    6    110
r-x    可读可执行    5    101
-wx    可写可执行    3    011
rwx    可读可写可执行    7    111
- - -    无权限    0    000
2.4.设置文件访问权限的方法
2.4.1 chmod
功能: 设置文件的访问权限
格式: chmod [参数] 权限 文件名
常用选项:

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

chmod命令修改权限的两种方式

用户表示符+/-=权限字符
+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限
用户符号:

u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户
如果要同时设置不同类用户的访问权限,则用户和用户之间要用逗号隔开。

2. 三位8进制数字
第一个8进制数字代表修改拥有者的权限,第二个代表所属组的,第三个代表其他用户的权限。
例如:


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

-R 递归修改目录文件的权限
注意:
修改文件的拥有者需要root用户进行操作,若是普通用户则需要sudo进行权限提升。使用chown指令同时修改文件的拥有者和所属组,将拥有者和所属组的用户名用冒号隔开即可。

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

-R 递归修改目录或文件的权限


2.5 file指令
功能说明: 辨识文件类型。
语法: file [选项] 文件或目录…
常用选项:

-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-z 尝试去解读压缩文件的内容
2.6 目录的权限
目录的可读可写可执行代表的含义与文件是不同的:

读权限(r)表示具有读取目录结构列表的权限,可以看到目录中有哪些文件和子目录。一旦对目录拥有读权限,就可以在此目录下执行 ls 命令,查看目录中的内容。

写权限(w)对于目录来说,w 权限是最高权限。对目录拥有 w 权限,表示可以对目录做以下操作:

在此目录中建立新的文件或子目录;
删除已存在的文件和目录(无论子文件或子目录的权限是怎样的);
对已存在的文件或目录做更名操作;
移动此目录下的文件和目录的位置。
一旦对目录拥有 w 权限,就可以在目录下执行 touch、rm、cp、mv 等命令。
执行权限(x)目录是不能直接运行的,对目录赋予 x 权限,代表用户可以进入目录,也就是说,赋予 x 权限的用户或群组可以使用 cd 命令。

无论是r还是w,都得先进入目录,所以如果没有x权限,rw会报错:

2.7 粘滞位
一个用户拥有某目录的可写权限,就可以删除该目录当中的文件
而不论这个用户是否有这个文件的写权限.
这好像不太科学啊, 我张三创建的一个文件, 凭什么被你李四可以删掉?


如果目录本身对other具有w权限,other可以删掉任何的目录下的文件
如果目录本身对other没有w权限, other不可以删掉任何文件

粘滞位解决了这个不合理的问题:

语法: chmod +t 目录名
功能: 给目录加上粘滞位。

加上粘滞位以后,目录的其他用户的可执行权限就由x变成了t

需求:
other可以在特定的目录下创建文件,并写入但是不想让任何人删掉自己的文件

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

一、超级管理员删除
二、该目录的所有者删除
三、该文件的所有者删除

2.8 umask权限掩码
每个用户创建文件时,都有一个默认属性,这个属性由文件的原始属性减去权限掩码而生成。

新建文件夹默认权限=0666
新建目录默认权限=0777
但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到umask的影响。

功能: 查看或修改文件掩码
使用umask指令可以查看权限掩码:

超级用户默认掩码值为0022,普通用户默认为0002。
第一位代表特殊权限(suid:4、sgid:2、sbit:1),不是八进制的意思。一般将其设置为0,即系统默认。
可以看到umask后三位为002,转化成二进制位也就是000 000 010,这个1代表其他用户的可读权限,而凡事在umask中出现的权限,就要在默认权限中去掉。那是怎么减去的呢?

假设默认权限是default,则实际创建的出来的文件权限是: default & ~umask

同理可值,目录的初始创建权限为:775

权限掩码是可以被设置的,指令为 umask 权限的八进制表示


可以看到,将权限掩码设置为0777后,新创建的普通文件和目录文件就要去掉全部的权限。
权限掩码设置只在本次登录有效

2.9 关于权限的总结
超级用户(root用户)是不受权限限制的,权限是用来限制普通用户的。
粘滞位只针对目录设置,一般是限制others权限
目录的可执行权限是表示你可否在目录下执行命令。
如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd 进入目, 即- 使目录仍然有-r 读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)
而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。
————————————————
版权声明:本文为CSDN博主「qq_52145272」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_52145272/article/details/123078415

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值