Linux:权限

✨✨所属专栏:Linux✨✨

✨✨作者主页:嶔某✨✨

linux系统下有两种用户

  • root(超级用户):不受限制,可以在linux下做任何事,为所欲为。
  • 普通用户 :受权限的约束,做有限的事。
  • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

 访问者分类

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

 文件类型和访问权限

文件类型

d:文件夹

-:普通文件

l:软链接(类似Windows的快捷方式)

b:块设备文件(硬盘,光驱等)

p:管道文件

c:字符设备威廉(例如屏幕等串口设备)

s:套接口文件 

基本权限 

括号内是权限的字符表示方法/8进制表示方法,对应的比如rw权限的8进制表示方法就是4 + 2 = 6。 

  • 读(r/4):Read对文件而言,可以读取文件内容;对目录来说,可以浏览该目录信息。
  • 写(w/2):Write对文件而言,可以修改文件内容;对目录来说,可以删除移动该目录内的文件。
  • 执行(x/1):Execute对文件而言,可以执行文件;对目录来说,可以进入目录内。

文件访问权限的相关设置方法

chmod 

  • 命令:chmod
  • 功能:设置文件的访问权限
  • 常用选项:
  • R --- 递归修改目录的权限
  • 格式:chmod  用户表示符+/-/=权限字符  文件名 
# chmod u+w /home/abc.txt
# chmod o-x /home/abc.txt

// 三位8进制数据
# chmod 664 /home/abc.txt
# chmod 640 /home/abc.txt

注:只有文件的拥有者和root才能改变文件的权限

chown

功能:修改文件或目录的所属组

常用选项: -R递归修改文件或目录的拥有者

格式:chown [参数] 用户名 文件名

实例:

# chown user1 f1
# chown -R user1 filegroup1

chgrp

功能:修改文件或目录的所属组

格式:chgrp [参数] 用户组名 文件名

常用选项: -R递归修改文件或目录的所属组

实例;

# chgrp user1 f1
# chgrp -R user1 filegroup1

umask 

  • 新建文件夹默认权限=0666
  • 新建目录默认权限=0777

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

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask

格式:

  • umask  权限值(修改)
  • umask (查看)

超级用户默认掩码值为0022,普通用 户默认为0002

file指令 

功能:辨识文件类型

语法:file  [选项]  文件/目录

常用选项:

  • -c 详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -z 尝试去解读压缩文件的内容。

 目录的权限

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

 那么问题来了只要一个用户拥有了目录的写权限,不论这个用户是否拥有文件的写权限,那么就可以删除目录中的文件了。

那这样的话,用户小汪和小欽都有一个目录的写权限,小汪在目录下创建了一个文件,小欽可以对这个文件进行删除操作。这显然不符常理。

为了解决这歌不合理的问题,Linux引入了粘滞位的概念

粘滞位

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

  1. 超级管理员删除
  2. 该目录的所有者删除
  3. 该文件的所有者删除

总结: 

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

 本期博客到这里就结束了,如果有什么错误,欢迎指出,如果对你有帮助,请点个赞,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嶔某

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值