权限贯穿linux整个系统

创建文件或目录,属主和组都是当前用户

linux权限位?

9位基础权限位, 3位一组,总共12位权限

用户对文件权限,相当于你的笔记本

r      读    4

w     写    2

x     执行       1

-      没有权限 0

对于普通文件权限总结:

  r   读取或阅读文件的权限

  w  新增、修改文件内容

    没有r权限vi会提示无法编辑,但可强制编辑 和 echo >> 强行追加

  x   表示具有执行文件的权限

     .sh 脚本需要联合 r 权限才能执行,其他 python ,java等语言文件只需要对应的解释器只需要 r 就可以执行

  注意点: 在root用户下,可执行shell只需要 x 权限就可以执行

删除文件原理:

  

  当 i_link = 0 和 i_count = 0 的时候,就像把文件数据关进了小黑屋,被回收了,就删除了

  删除一个文件,由于文件名存放在上级目录的block中,能不能删除一个文件看要上级目录的w权限,没有的话无法删除

  (删除文件的权限是受父目录的权限控制,和文件权限无关)

  创建文件的默认权限为 644, rw-r--r--,主和组都是创建者

对于目录权限的总结:

  r   表示具有浏览目录下面文件和子文件的权限,即 ls,dir

  w  表示具有增加、删除或修改目录内文件的权限

  x  表示能够进行目录的权限,没有不能进入该目录,如cd dir,但是没有r无法列表文件及目录,没有w无法新建或删除

  创建文件的默认权限为 755, rwxr-xr-x,主和组都是创建者

和文件权限相关命令:

  chmod   改变文件会目录权限, 只有所属主和root才能修改

    -R 递归该目录和该目录下所有文件和目录统一权限

  通过数字赋权

chmod 755 -R /date    #递归让 /date 目录和目录下所有文件和目录获得相同的权限 rwxr-xr-x

  通过符号赋权

   u     所属主

  g     所属组

    o     其他人

  +     添加

    -       取消

    =     等于

touch modtest    # 创建测试文件
chmod u+x modtest # 主添加 x 执行权限

umask  查看或设置默认权限掩码

umask    # 查看当前权限掩码
sed -n '65,69p' /etc/bashrc # 查看默认权限配置

  

如何换算?

文件的权限从 666 开始,目录权限从777开始

666               << 文件起始权限

-      022               << umask值

644               << 文件权限

  uamsk都为偶数,直接相减,有为计数,计数位加1再相减

  生产场景没有更改的umask需要

有哪些特殊权限位?

suid,sgid,粘滞位

suid总结

  针对命令和二进制程序

  1. 用户对应的前三位权限的x位上如果有s就表示suid权限,当x位上没有小写x执行权限的时候,suid显示的是大S

  2. suid让普通用户可以用root身份执行root才拥有的执行权限命令,suid为某一个命令设置特殊权限(所有人都可使用),和sudo不同

    典型suid passwd,只能通过这个命令来修改密码,而不是直接更改文件

  3. suid是把双刃剑,把无用功能的suid取消掉

sgid总结

  只对二进制命令程序有效

  • 需要可执行权限x
  • 执行这条命令的任何人,可以获得该命令执行期间所属组的权限

  典型例子: locate

linux系统基本权限位为9位权限,但还有额外3位权限位,共12位权限

suid        s(有x)    S     4     用户对应的权限位(用户对应的3位置上)

sgid       s(有x)    S     2     用户组对应的权限位(用户组对应的3位置上)

sticky     t(有x)     T     1     其他用户对应的权限位,只针对目录

chmod 4755 command     # 给这个命令suid权限,或 chmod u+s file
chmod 2755 command # 给这个命令sgid权限,或 chmod g+s file
chmod 1755 directory # 给这个directory粘滞位权限,或 chmod o+s file

粘滞位,tmp是经典的粘滞位目录,任何用户都可以浏览,修改这个文件下任何内容,但无法删除和移动主是其他用户的文件或目录,常常是木马第一手跳板地址,带来安全问题

  

如何切换文件的所属主,所属组?

chown   主和组之间用 : 隔开, 用 . 替代 :

chown oldboy test.sh    # 更改test.sh的主

chown :incahome test.sh    # 更改test.sh 的组

chown .incahome test.sh    # 更改test.sh 的组,通过 . 代替 : 

# 注意点:授权 主 和 组 都必须在linux中真实存在的

  

文件权限总结

  1. 总共12位权限位,9位基础权限位,3位特殊权限位,基础3位一组,特殊1位一组

  2. r w x 对应数字分别是 4 2 1 ,特殊权限位 suid sgid sticky 对应数字分别为 4 2 1

  3. 基础权限位在文件上和目录上是不一样

    在文件上,r 表示可以浏览文件内容,w 表示修改文件内容,x 表示这个文件有执行权限,单是单独有x权限,命令解释器无法读取到文件内容,也是无法执行

    在目录上,r 表示可以列表目录下文件名和目录名,w表示可以在该目录下删除和创建文件或目录,x表示能不能进去这个目录

  4. 可以通过 chown 命令更改主 和 组,必须主 和 组linux系统中存在

  5. 删除文件的原理是文件的硬链接数为 0 同时该文件的程序引用数为 0

linux_文件权限的更多相关文章

  1. Atitit  godaddy 文件权限 root权限设置

    Atitit  godaddy 文件权限 root权限设置 1. ubuntu需要先登录,再su切换到root1 2. sudo 授权许可使用的su,也是受限制的su1 3. ubuntu默认吗roo ...

  2. Linux用户体系和文件权限总结

    一.           Linux系统用户和用户组相关文件 1.  /etc/passwd文件 这个passwd文件是Linux用户信息文件.文件格式说明如下: root:x:0:0:root:/r ...

  3. 【转】linux查看及修改文件权限以及相关

    linux查看及修改文件权限以及相关 查看文件权限的语句: 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 一共有 ...

  4. Linux下用户组、文件权限详解

    在linux中的每个用户必须属于一个组,不能独立于组外.在linux中每个文件有所有者.所在组.其它组的概念 - 所有者 - 所在组 - 其它组 - 改变用户所在的组 所有者 一般为文件的创建者,谁创 ...

  5. 文件权限:普通(r、w、x)和特殊(s、t)

     linux中,常常涉及到权限的问题.文件的权限有3组,owner,group,other,每一组都有rwx三种设置.r(4):可读:w(2):可写:x(1):可执行.我们在执行shell命令ls - ...

  6. 修改linux文件权限

    Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限分为只读,只写和可执行三种.以文件为例,只读权限表示只允许读其内容,而禁 ...

  7. Linux文件权限和访问模式

    为了更加安全的存储文件,Linux为不同的文件赋予了不同的权限,每个文件都拥有下面三种权限: 所有者权限:文件所有者能够进行的操作 组权限:文件所属用户组能够进行的操作 外部权限(其他权限):其他用户 ...

  8. hosts文件权限导致监听无法启动

    1.所属系统:2.问题描述:3.解决4.参考???疑点:为什么修改主机名会使hosts文件权限发生改变 1.所属系统: ZHJS2#[/]uname -a HP-UX ZHJS2 B.11.31 U ...

  9. C#设置文件权限

    在开发中,我们经常会使用IO操作,例如创建,删除文件等操作.在项目中这样的需求也较多,我们也会经常对这些操作进行编码,但是对文件的权限进行设置,这样的操作可能会手动操作,现在介绍一种采用代码动态对文件 ...

随机推荐

  1. python如何玩“跳一跳”!(windows安桌版本请进!)

    最近"跳一跳",很火爆,有木有? 看了一下网上的教程,动作搭建了一下环境,就可以用脚本自动跑起来啦!!! 下面说一下android手机的实现过程: 首先,是python环境的搭建 ...

  2. 掌握一门语言Go

    摘要:Go语言的优势不必多说,通过本篇文章,让我们花时间来掌握一门外语,Let's Go! 关键字:Go语言,闭包,基本语法,函数与方法,指针,slice,defer,channel,goroutin ...

  3. 利用 html2canvas 做个简单的诗词卡片生成器

    html2canvas 简介 html2canvas 顾名思义,就是一个可以把 DOM 元素转换成图片的类库,常用于网页截图.网页截图常见的应用场景是,在意见反馈里对当前页面进行截图,方便反馈页面出现 ...

  4. ASP.NET Core中使用IOC三部曲(三.采用替换后的Autofac来实现AOP拦截)

    前言 本文主要是详解一下在ASP.NET Core中,采用替换后的Autofac来实现AOP拦截 觉得有帮助的朋友~可以左上角点个关注,右下角点个推荐 这里就不详细的赘述IOC是什么 以及DI是什么了 ...

  5. 【LCT维护基环内向树森林】BZOJ4764 弹飞大爷

    4764: 弹飞大爷 Time Limit: 30 Sec  Memory Limit: 256 MBSubmit: 101  Solved: 52[Submit][Status][Discuss] ...

  6. 【JavaScript_DOM 淘宝购物车】

    让我们一起看一下淘宝的购物车是怎么做的吧,刚刚入门的我可能很多地方的用法都不够优化,不过个人感觉先把逻辑清晰之后再做的话其实也并不难哦, 以下是我做的页面代码: HTML代码: <!DOCTYP ...

  7. DFS中的奇偶剪枝学习笔记

    奇偶剪枝学习笔记 描述 编辑 现假设起点为(sx,sy),终点为(ex,ey),给定t步恰好走到终点, s | | | + — — — e 如图所示(“|”竖走,“—”横走,“+”转弯),易证abs( ...

  8. 最长上升子序列(LIS经典变型) dp学习~5

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1069 Monkey and Banana Time Limit: 2000/1000 MS (Java ...

  9. android仿漫画源码、抽奖转盘、Google相册、动画源码等

    Android精选源码 android实现仿今日头条的开源项目 波浪效果,实现流量的动态显示 美妆领域的app, 集成了摄像头取色, 朋友圈, 滤镜等 android仿漫画源码 android一个视差 ...

  10. 从数据库、代码和服务器对PHP网站Mysql做性能优化

    数据库优化是PHP面试几乎都会被问到的事情,也是我们工作中应该注意的事情,当然,如果是小网站无所谓优化不优化,网站访问量大了自然会暴漏数据库的瓶颈,这个瓶颈是各方面问题综合导致的,下面我们来做下数据库 ...