(三)【Linux权限的概念】

1 Linux下有两种用户

超级用户(root)、普通用户。

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

命令:su [用户名]
功能:切换⽤⼾。
例如,要从root用户切换到普通用户user,则使⽤ su user。要从普通用户user切换到root用户则使⽤ su root(root可以省略),此时系统会提⽰输⼊root⽤⼾的⼝令。

2 Linux权限管理

2.1 文件访问者的分类(人)

  • ⽂件和⽂件⽬录的所有者:u—User
  • ⽂件和⽂件⽬录的所有者所在的组的⽤⼾:g—Group
  • 其它⽤⼾:o—Others

2.2 文件类型和访问权限(事物属性)

在这里插入图片描述

⽂件类型:

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

基本权限:

  • 读(r):Read对⽂件⽽⾔,具有读取⽂件内容的权限;对⽬录来说,具有浏览该⽬录信息的权限
  • 写(w):Write对⽂件⽽⾔,具有修改⽂件内容的权限;对⽬录来说具有删除移动⽬录内⽂件的权限
  • 执⾏(x):execute对⽂件⽽⾔,具有执⾏⽂件的权限;对⽬录来说,具有进⼊⽬录的权限
  • “—”表⽰不具有该项权限
    在这里插入图片描述
    补充:Linux系统不已文件名后缀来区分文件类型。

2.3 文件权限值的表示方法

  • 字符表⽰⽅法(rwx)
  • 8进制数值表示方法(777)

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

3.1 chmod

功能:设置⽂件的访问权限
格式:chmod [参数] 权限 ⽂件名
常⽤选项

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

chmod命令权限值的格式

  • 用户表⽰符+/-=权限字符
    • +:向权限范围增加权限代号所表⽰的权限
    • -:向权限范围取消权限代号所表⽰的权限
    • =:向权限范围赋予权限代号所表⽰的权限
    • 用户符号:
    • u:拥有者
    • g:拥有者同组⽤
    • o:其它用户
    • a:所有⽤用户
    • 例子:
      chmod u-rwx log.txt更改所有者的权限(去掉所有者读写和可执行的权利)
      chmod a-rwx log.txt更改所有人的权限(所有人都不能读写和可执行)
    • 三位8进制数字,例子:
      chmod 064 log.txt去掉所有者的所有权限(读写和可执行权限)

在这里插入图片描述
在这里插入图片描述

3.2 chown

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

// root账号下操作
chown HYX test.txt  // 把test.txt文件的所有者改成HYX

3.3 chgrp

功能:修改⽂件或⽬录的所属组
格式:chgrp [参数] ⽤⼾组名 ⽂件名
常⽤选项:-R 递归修改⽂件或⽬录的所属组
实例:

chgrp HYX test.txt   // 把所属组权限给HYX
chown HYQ:HYQ test.txt  // 一次性把所有者和所属组权限都给HYQ

3.4 umask

功能

  • 查看或修改⽂件掩码
  • 新建⽂件夹默认权限=0666
  • 新建⽬录默认权限=0777
  • 但实际上我们所创建的⽂件和⽬录,看到的权限往往不是上⾯这个值。原因就是创建⽂件或⽬录的时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的⽂件权限是: mask &(~umask)

格式:umask 权限值
说明:超级用户默认掩码值为0022,普通用户默认为0002。
在这里插入图片描述

3.5 目录的权限

  • 可执行权限: 如果⽬录没有可执⾏权限, 则⽆法cd到⽬录中(即使⽬录仍然有 -r 读的权限)
  • 可读权限: 如果⽬录没有可读权限, 则⽆法⽤ls等命令查看⽬录中的⽂件内容
  • 可写权限: 如果⽬录没有可写权限, 则⽆法在目录中创建⽂件, 也⽆法在⽬录中删除⽂件

于是, 问题来了,换句话来讲, 就是只要用户具有⽬录的写权限, 用户就可以删除目录中的⽂件, 而不论这个用户是否为这个文件的拥有者。这好像不太科学, 我张三创建的⼀个⽂件, 凭什么被你李四可以删掉?

为了解决这个不科学的问题, Linux引⼊了粘滞位的概念。

3.6 粘滞位

当⼀个⽬录被设置为"粘滞位"(⽤chmod o+t shared_dir),则该⽬录下的⽂件只能由:

  1. 超级管理员删除(root账号)
  2. 该⽂件的所有者删除

补充:普通用户不能使用sudo命令,是因为root账号还没用信任你,必须在root账号下,添加普通用户到白名单才,普通用户才能使用sudo指令。

  1. 登陆root账号
  2. 输入指令:vim /etc/sudoers
  3. 找到100行,复制粘贴一下,添加hyq用户的权限(如果wq不能退出,那就wq!强制退出)
    在这里插入图片描述
  4. sudo touch file.txt现在就可以用root身份创建文件了。
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值