Linux权限理解

本文详细解析了Linux权限管理,包括权限的分类(用户、组、其他人),文件属性的读写执行权限,以及chmod、chown、chgrp等命令的使用。还介绍了权限值的三种表示方法(字符、二进制、八进制)和umask、粘滞位的作用。

对权限的基本理解

Linux作为一个操作系统,其实可以很大程度上类比我们现实世界,不同的部分就是我们不同的部
 我们使用su命令来却换用户,语法为su username,如果是切换到root,那么可以省略username.

Linux权限管理

按照访问者身份区分

  1. u--user代表文件的所有者.
  2. g--group代表文件所有者所在组.
  3. o--others表示除了u,g以外的其他用户.

按照行为(文件属性)区分

 用户对一个文件的基本操作可以用读,写,执行这三种来表示.对应的就是r(read),w(write),x(execute).
有了访问者和文件自身属性的权限区分,我们就可以对操作系统中的不同文件通过同样的手段管理起来了.门.这时候就很容易理解什么是权限了,就好像我们生活中对罪犯的处理要经过法院的判决和执行一样,不能说警察抓了人直接处置了.各个部门有条不紊的处理好自己的工作,这样可以保证所处的体系高效且具有较强的执行力.

如何理解Linux中的权限

区分权限最方便的办法就是使用不同的身份,就好像我是321宿舍的舍员,我可以随意进出我们宿舍,别的学生就不能随便进出我们宿舍.在Linux中也是这样,最基本的两种身份就是root和普通用户.root就是管理员,权限自然是要比较高的,对应的普通用户权限就比较低.

不同的文件有不同的文件属性

对于Linux来说不同文件的默认文件属性也应该是不一样的.这其实很好理解,如果我有一个可执行文件,难道每次运行之前我都需要 手动加上x权限?这显然是不合理的.

Linux权限表示方法

Linux文件类型

  1. d:目录文件
  2. -:普通文件
  3. l:软链接
  4. b:块设备文件
  5. p:管道文件
  6. c:字符设备文件
  7. s:套接口文件

文件属性的表达形式

  1. (r–read)对于文件而言,读权限可以读取文件内容,对于目录而言读权限可以访问目录.
  2. (w–write)对于文件而言,写权限可以修改文件内容,对于目录而言写权限可以修改目录内容(移动/删除文件).
  3. (x–execute)对于文件而言.执行权限可以执行文件,对于目录而言执行权限可以进入目录.

Linux文件权限值表示方式

  1. 字符表示

字符表示法就是我们上面讲的rwx,按照读写执行的顺序,存在对应字符就表示存在对应权限,没有对应权限就用-表示.

  1. 二进制表示法

二进制每一位都可以表示两种状态,所以我们可以用1表示存在,0表示不存在,所以111就表示三种权限都具备,101表示可读,不可写,可执行.

  1. 八进制表示法

八进制表示法其实和二进制表示是一样的,只是把二进制里面的三个标志位换成了一个标志位,例如7表示同时具备读写执行权限,4表示可读,不可写,不可执行.

权限设置方法

  1. chmod

Linux中设置文件权限的命令为chmod
语法:chmod [选项] 权限 filename
解释:权限表示中使用+-表示赋予或者剥夺权限
例:chmod u+w /home/example.exe
也可以用三位八进制修改权限
例:chmod 664 /home/example.exe

  1. chown

语法:chown [参数] username filename
例: chown -R user example.exe
  chown user example.exe

  1. chgrp

语法:chgrp [参数] groupname filename
例: chgrp group example.exe

  1. umask

查看或者修改权限掩码
Linux中普通文件默认权限是666,目录文件默认权限是777,但是我们通常创建出来的文件权限值并非是这个值,这是因为我们的系统中存在权限掩码,我们可以用umask命令来查看或修改.
语法:umask表示查看权限掩码,umask 权限值表示修改权限掩码.
算法:假如权限掩码为002,那对于普通文件来说,默认权限应该是666&(~002)最后是664.

粘滞位

看似完美的权限系统背后却存在一个很致命的问题,那就是删除一个文件并不取决于文件的属性,而是取决于目录的写权限,这样就会存在一个问题,假如目录有写权限,那任何用户都可以随意删除文件,假如没有写权限又会导致文件无法删除.粘滞位就是为了解决这样的问题.
粘滞位的添加或移除用chmod [选项] username+[-]t directoryname
加入粘滞位后的目录权限中others的可执行权限就会变为t,这样的目录中的文件只允许root或目录所有者,或文件所有者删除.

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值