Linux权限(上)

Linux下有两种用户

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

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

命令:su [用户名]

功能:切换用户。例如,要从root用户切换到普通用户user,则使用 su user。 要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的口令

 如何 让普通用户也能使用不属于他的权限呢?这就要看sudo指令了!!!!

现在有一个场景:安装一个软件需要root权限,但是仅root安装其实就安装了一份;如果其他用户也想安装呢?

sudo指令 

 sudo就是进行短暂的提权的;

格式:sudo 指令

可以让 普通用户也能使用超级用户的权利

若使用时出现这种问题

解决办法:

什么是权限

  • 能 或者 不能做什么
  • 权限可以控制用户的行为,能预防错误的事件发生;

如何理解

  • 权限 = 角色 + 目标属性
  • 权限首先就是 角色的权限
  • 权限的前提是  权限对应的目标 具有 能完成 某种行为的属性

角色分类 

  1. 拥有者 
  2. 所属组
  3. other 

拥有者 所属组 other 到底是什么?

 拥有者: 就是具体的人; 所属组:就是具体的人的角色 

other:就是 除 拥有者 所属组 之外的;

为什么文件属性中 不显示 other

只要不是 拥有者 所属组 就是 other; 只需对比一下即可,不用记录; 

什么是所属组?为什么要存在所属组

如果要精细的权限划分,那么就得有更精细的身份角色; 

李四手里有一个code.c 项目,要给老板开启权限。 

  Linux多用户之间是怎么相互“隔离”的?

 除了,超级用户root,其他普通用户都没有进入其他用户目录的权限;

如果想要在私人账号中添加自己的文件怎么办;

  • 必须要经过root的帮忙才能在别人的文件中操作
  1. 先转为root,root再转为其他账号
  2. sudo 直接用root添加文件,再用sudo修改文件的所有组,拥有者;

 那么如果,不同用户要同时修改一个文件呢?那就得看文件的权限了,这也和三个组别相关;

文件权限

 

文件类型:(目前还是以 d - 文件类型为主的)

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

 基本权限理解:

  •  读(r/4):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限
  • 写(w/2):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限
  • 执行(x/1):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限
  • “—”表示不具有该项权限

权限的修改

chmod

功能:设置文件的访问权限

格式:chmod [参数] 权限 文件名

常用选项:

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

chmod命令权限值的格式:(用户表示符+/-=权限字符

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限

用户符号:

  • u:拥有者
  • g:拥有者同组用
  • o:其它用户
  • a:所有用户

chmod八进制改变权限 

格式:chmod 数数数 文件 

注意部分: 

  • 能改任何人的权限吗?  只有文件的拥有者和root才可以改变文件的权限

  • 没有权限会怎么样? 系统会拒绝我们的访问。

  • 确定信息时,系统会先确定的用户是什么?拥有者,所属组,other?

 比如root 他是所属组还是 拥有者?

 在Centos下,系统是按照拥有者,所属组,other的顺序来的;

而且用户角色的确定,只会确定一次;    

  • root用户的权限? root是权限,不受约束?

root就类似一个总管理者

  •  如何理解可执行?

可执行权限 != 文件可以执行 (机会 != 能力)

  1.  权限的前提是  权限对应的目标 具有 能完成 某种行为的属性
  2. 文件 有可执行权限,但目录没有给你权限让你进入,

chgrp / chown 

chown

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

chgrp

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

 系统默认我们不能把文件给别人

(这种要求是合理,不然乱给文件就乱了)

如果要给别人,必须提权,要么sudo 要么切换到 root

目录的权限理解

可以思考一下,rwx 对应目录来说是意味着什么?

  1. 如果要进入一个目录需要权限 x 
  2. 如果权限没有r,就无法查看目录的文件
  3. 如果没有w,就无法在目录中创造文件

注意:

  • 因此默认情况下,创建一个目录。rwx权限都要有 
  • 且一个文件是否能被删除,与文件内容本身无关,与目录的w 相关 

文件权限缺省问题

一般来说:

  • 普通文件的起始权限是 666,默认是不带执行权限的;
  • 目录文件的起始权限是 777,默认是什么权限都有的;

但为什么:

 这是因为系统默认有一个权限掩码的概念

最终的起始权限 = 起始权限 & (~umask)

不想让起始有什么权限 就在umask 设置什么权限;经过这个转换就可以实现 

查看系统的 权限掩码:umask

修改:umask 数数数 

umask的目的是什么 

 凡是出现在umask的权限,都不应该在最终权限中出现;

 为什么要有umask
  1. 默认权限是 是OS决定,我们无法在创建文件前修改;umask是系统配置的,可自我调节,是灵活满足我们的需求的一种表现;
  2. 特殊情况下,配置umask,可以让我们修改文件的默认权限,让我们的是可控的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值