博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux之强制位及冒险位
阅读量:7057 次
发布时间:2019-06-28

本文共 1861 字,大约阅读时间需要 6 分钟。

本人系统Centos6.0

大家应该发现了当我们创建文件、目录的时候,就会默认有一个权限,那么这个是怎么回事呢?

这里引出一个umask权限设置

先来看个实例:

1
2
3
4
5
[root@centos ~]# touch test
[root@centos ~]# ll test
-rw-r--r--. 
1 
root root 
0  
8
月 
19 
18
:
36 
test
[root@centos ~]# mkdir testd
drwxr-xr-x.  
2 
root root   
4096  
8
月 
19 
18
:
37 
testd

root用户创建文件,默认权限644

root用户创建目录,默认权限755;这是为什么呢?

这就是umask的作用了:

1、umask的作用

默认情况下的umask值是022

1
2
[root@centos ~]# umask
0022

此时你建立的文件默认权限是644(666-022),建立的目录的默认权限是755(777-022)

现在应该知道umask的用途了吧,它是为了控制默认权限;

知道了umask的作用后:

你可以修改umask的值了

例如:umask 024则以后建立的文件和目录的默认权限就为642,753了

1
2
3
[root@centos ~]# umask 
024
[root@centos ~]# umask
0024

2、将umask值保存到环境文件

如果使用bash可以更改/etc/bashrc文件中的umask,如果使用csh,可以更改/etc/csh.cshrc

umask 就是指定『目前使用者在建立档案或目录时候的属性默认值』

所以默认权限就是:

文件:666-umask值;(666-022=644)

目录:777-umask值;(777-022=755)这样就容易明白了;

冒险位和强制位(冒险位有的书也叫粘滞位)

前面说了0022中的022(后三个);那么前面一个是什么作用呢?

所谓的强制位和冒险位都是最最前面那个0的位置来表示,当前面那个位,2和4权限就叫强制位,1的权限就是冒险位,2代表的是GID,4代表的是uid,1代表的是sticky(粘滞)

作用

GID的作用:
默认情况下,用户建立的文件属于用户当前所在的组但是设置了GID以后,表示在此目录中,任何人建立的文件,都会属于目录所属的组。
UID的作用:当一个文件设置了UID,那么所有用户执行这个文件的时候,都是以这个用户的所有者的权限来执行。

演示:

大家从上图可以看到针对目录加强制位的方法

1> 、chmod g+s dirname 

2> 、chmod 2755 dirname

下面我使用zhangsan在该目录创建个文件。查看属组;

1
2
3
4
5
6
7
[root@centos lansgg]# chmod g+s /tmp/lansgg
[root@centos ~]# chmod o+w /tmp/lansgg
[root@centos ~]# useradd zhangsan
[root@centos ~]# su - zhangsan
[zhangsan@centos ~]$ touch /tmp/lansgg/testfile
[zhangsan@centos ~]$ ls -l /tmp/lansgg/testfile
-rw-rw-r--. 
1 
zhangsan root 
0  
8
月 
19 
19
:
04 
/tmp/lansgg/testfile

可以看到zhangsan创建的文件属组竟然是root;

演示2:

下面演示UID:

我们知道普通用户是不能操作某些命令的;比如netstat 命令无法查看后面PID项的进程名

那我们能让某些用户可以完全查看呢?比如zhangsan

大家可以看到zhangsan用户也可以正常使用了,是不是有点像sudo呢?

下面是sticky(冒险位);

案例:比如我们一个服务器上有一个目录,所有用户都可以进行操作;那么默认的话,你创建的文件,其他用户也可以删除了;那么有什么办法,你的文件只有你自己可以删掉呢?这里我们使用sticky就可以办到;

演示3:

我们发现冒险位设置到目录上,zhangsan创建的文件,lisi不可删除了;

o-t 可以解除冒险位;

本文转自 西索oO 51CTO博客,原文链接:http://blog.51cto.com/lansgg/1277359

转载地址:http://ruwll.baihongyu.com/

你可能感兴趣的文章
腾讯云COSFS工具使用说明 - 腾讯云对象存储映射到本地磁盘目录
查看>>
server-side-events(SSE)开发指南(Node)
查看>>
要点提炼| 理解JVM之GC&内存分配
查看>>
Android小知识-Java多线程的基础知识了解下
查看>>
人人都能懂的Vue源码系列(二)—Vue构造函数
查看>>
Regular进阶: 几点性能优化的建议
查看>>
在SAP云平台的CloudFoundry环境下消费ABAP On-Premise OData服务
查看>>
44 道 JavaScript 难题(JavaScript Puzzlers!)
查看>>
我所不知的JS
查看>>
【记录】 Docker 的安装和通过 Docker 使用 Tomcat and mongoDB 的过程
查看>>
MySQL数据库运维之数据备份02
查看>>
nginx实现反向代理和负载据均衡
查看>>
渐进式Web应用(PWA)入门教程(下)
查看>>
connect.js中间件实现之函数队列思想
查看>>
安装配置gunicorn和NGINX的学习笔记
查看>>
【转】ionic之AngularJS手势事件
查看>>
生成随机数字
查看>>
node入门基础
查看>>
二、数据的存放put
查看>>
chrome - 收藏集 - 掘金
查看>>