权限简单介绍:

在Linux中,创建目录或者文件之后总会有默认的权限。共9个,分为三组。分别代表u、g、o(属主、属组、其他用户)。r、w、x 也代表各自的权限。

r:读   在文件中的权限代表次文件可以被cat    在目录的权限中代表此目录可以  ls 来查看目录下的文件    一般用数字   4  代表

w:写  在文件中的权限代表次文件可以更改(vim/vi.....)  在目录中 则可以创建、删除、更改 此目录下的文件       一般用数字  2  代表

x:执行  在文件中代表次文件可以被用户执行          在目录中代表此目录可以  cd 进去       一般用数字 1  代表

umask  默认权限控制

umask 控制着系统的默认权限,默认为0022; 第一位代表的是附加权限,也就是特殊权限。后三位代表的是u、g、o的权限。

其中文件和目录默认的最大权限如下:

file---666 -rw-rw-rw

dir ---777 drwxrwxrwx

 文件目录权限的计算:

1. 当umask为偶数

umask为0022

文件:

file-  666-022=644

目录:

dir-  777-022=755

2.当umask为奇数   计算文件的默认权限的时候,要在奇数位加1

umask为0032

file- 666-032=634

+010=644

目录的不变

umask=035

[root@znix ~]# umask 035

[root@znix ~]# touch file035

[root@znix ~]# mkdir dir035

[root@znix ~]# ll file035 && ll -d dir035

-rw-r---w- 1 root root 0 Sep  6 10:42 file035

drwxr---w- 2 root root 4096 Sep  6 10:42 dir035

file=642  dir=742

永久修改umask的方法

[root@znix ~]# vim /etc/profile

if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; then

umask 002

else

umask 022

fi

解释:

如果 [ 用户UID>=199 ] 并且  [ 用户的名字 == 用户组名字 ];然后

umask 002

那么

umask 022

果如

特殊权限

    特殊权限一般都是在 X 位上;分为set uid 、set gid、sticky bit(粘滞位)三种;

set uid:

附加在属主的x位上,并改变其为s

set gid:

附加在属组的x位上,并改变其为s
基本和suid相同,但是我们修改权限一般会让其让其最大化,没必要让其和属主的相同,不过他还有其他作用,适用于目录,用来传递目录的属主身份:(如果我们没有使用这个特殊权限的时候,那么我们创建文件时,属组就会是创建此文件的用户的属组,但是如果我们有这个特殊权限,那么我们在这个目录中创建的文件就会是目录的属组)   新建文档自动属于这个组

sticky bit(粘滞位):

附加在其他人的x位上,并改变其为t
适用于多个用户都有写入权限的目录(/tmp,我们所有用户都可以在此目录有写入权限,这时如果我们不给此目录一些限制的话,我们超级用户在跑一个程序,并在tmp目录下有一些临时文件,而我们随便过来一个用户就能将其文件删除,还有就是我们张三创建的文件,李四就能删除,这样是不合理的)这时我们就需要进行限制,阻止对目录w权限的滥用,如果加上此权限,那么我们每个用户只能删除自己的文件,不能删除其他人的文件

s与S  的区别在于若是用户或用户组没有执行权限(x)  则其附加权限为  S 。 若是有x(执行权限) 则为 s 。

我们的附加权限也可以用数字表示,当我们写三个数字的时候默认是属主属组和其他用户的权限;但是当我们写四个数字的时候,后三个默认还是属主属组和其他用户的权限,但是第一个数字就代表附加权限,其中suid是4、sgid是2、粘滞位是1

     

umask 默认权限控制和特殊权限的更多相关文章

  1. Linux系统——ACL权限控制及特殊权限

    ACL权限控制 ACL(access control list),可以提供除属主.属组.其他人的rwx权限之外的细节权限设定 ACL的权限控制 (1)User 使用者 (2)Group 群组 (3)M ...

  2. Spring Cloud实战 | 第十一篇:Spring Cloud Gateway 网关实现对RESTful接口权限控制和按钮权限控制

    一. 前言 hi,大家好,这应该是农历年前的关于开源项目 的最后一篇文章了. 有来商城 是基于 Spring Cloud OAuth2 + Spring Cloud Gateway + JWT实现的统 ...

  3. asp.net core mvc权限控制:分配权限

    前面的文章介绍了如何进行权限控制,即访问控制器或者方法的时候,要求当前用户必须具备特定的权限,但是如何在程序中进行权限的分配呢?下面就介绍下如何利用Microsoft.AspNetCore.Ident ...

  4. JAVAEE——BOS物流项目11:在realm中授权、shiro的方法注解权限控制、shiro的标签权限控制、总结shiro的权限控制方式、权限管理

    1 学习计划 1.在realm中进行授权 2.使用shiro的方法注解方式权限控制 n 在spring文件中配置开启shiro注解支持 n 在Action方法上使用注解 3.★使用shiro的标签进行 ...

  5. aop (权限控制之功能权限)

    在实际web开发过程中通常会存在功能权限的控制,不如这个角色只允许拥有查询权限,这个角色拥有CRUD权限,当然按钮权限显示控制上可以用button.tld来控制,本文就不说明. 具体控制流程就是通过登 ...

  6. Laravel 5.1 ACL权限控制 三 之权限准备及实现权限管理

    请自动参照到上上篇文章 1.创建控制器 php artisan make:model Permission php artisan make:model Role 2.创建表 php artisan ...

  7. Chapter6_访问权限控制_访问权限修饰词

    Java中有四种访问权限,public,private,protected和包访问权限,它们是置于类中每一个成员之前的定义,无论是一个域还是一个方法,下面一一介绍. 一.包访问权限 如果不提供任何访问 ...

  8. C++ 中的权限控制

    权限控制,指的是用户只能访问符合自己权限的资源,系统对用户进行权限控制以防止用户的误操作/恶意操作等. 在C++代码中,权限控制指的是程序员在接口声明/类声明/函数声明等中进行的授权控制.如下面的代码 ...

  9. Winform开发框架之字段权限控制

    在我的很多Winform开发项目中(包括混合框架的项目),统一采用了权限管理模块来进行各种权限的控制,包括常规的功能权限(按钮.菜单权限).数据权限(记录的权限),另外还可以进行字段级别的字段权限控制 ...

随机推荐

  1. 从无到有构建vue实战项目(二)

    二.vue项目的初步搭建 该项目我采用了当下最流行的vue ui框架---element-ui,首先用vue-cli构建一个vue项目: vue create education 然后会出现一系列配置 ...

  2. 双端队列 duque

    一.双端队列(Deque) - 概念:deque(也称为双端队列)是与队列类似的项的有序集合.它有两个端部,首部和尾部,并且项在集合中保持不变. - 特性:deque 特殊之处在于添加和删除项是非限制 ...

  3. STL库的应用

    容器分为两类:序列式容器和关联式容器. 序列式容器,其中的元素不一定有序,但都可以被排序.如:vector.list.deque.stack.queue.heap.priority_queue.sli ...

  4. c++最大公约数

    C++辗转相除法求出最大公因数 样例输入 6 9 样例输出 3 程序 #include <stdio.h> using namespace std; int gcd(int m,int n ...

  5. IDM 6.27.5(Internet Download Manager)中文破解版下载神器

    IDM一直是我最喜欢的下载工具,感觉用的比迅雷爽,简单使用,对付网盘有一套.IDM(Internet Download Manager)和迅雷的下载提速方式不同,从原理上来说,IDM速度较稳定,迅雷下 ...

  6. Java基础之增强for循环

    平时大家for循环应该用的不少,特别是增强for循环,简单快捷.但是在增强for中做删除操作,却会抛出java.util.ConcurrentModificationException,一起来看下. ...

  7. python爬取新浪股票数据—绘图【原创分享】

    目标:不做蜡烛图,只用折线图绘图,绘出四条线之间的关系. 注:未使用接口,仅爬虫学习,不做任何违法操作. """ 新浪财经,爬取历史股票数据 ""&q ...

  8. DvaJS构建配置React项目与使用

    DvaJS构建配置React项目与使用 一,介绍与需求分析 1.1,介绍 dva 首先是一个基于redux 和redux-saga的数据流方案,然后为了简化开发体验,dva 还额外内置了react-r ...

  9. 用canvas绘制时钟

    用canvas做时钟其实很简单,下面是我做出的效果: 是不是还挺漂亮的? 下面上代码: html <div class="whole"> <canvas id=& ...

  10. Spring_IoC注解开发和AOP的XML开发(学习笔记2)

    一:IoC注解开发 1,在applicationContext.xml中需要引入context约束 <beans xmlns="http://www.springframework.o ...