1、set uid(强制位) 只能对文件进行设置

通过对文件设置uid可以使非文件拥有者或文件所属群组的用户具有执行该文件的权限。

例如ping,默认情况下所有用户都可以使用此命令,但当我们查看ping命令所在的文件时会发现,这个文件所属的用户和组均属于root,别的用户和组都没有权限使用此命令,但是为什么其他的用户和群组都能使用此命令了呢?
    当你查看ping命令所在文件的权限时你会发现在用户的权限x的位置有一个s,这是为什么呢?这就是系统默认给ping命令这个文件设置了强制位。

那么 强制位又有什么作用呢?

对文件设置过强制位以后,可以让对此文件没有执行权限的用户执行此文件。

例如:ping这个命令是所有用户都能使用的,但ping命令所在文件是所属root用户和组的,别的成员没有执行此命令的权限,但是设置过强制位就不同了。

ping是属于root用户和组的,但使用jack用户登陆后也可以使用此命令,原因就是系统默认给ping命令所在目录设置过强制位了,如果把强制位取消,则再用jack用户使用ping命令,这时会提示没有权限。

强制位的使用

chmod u+s  文件            对文件设置强制位
    chmod u-s  文件            对文件取消强制位

2、set gid 

默认情况下,用户A在目录所属组B里面新建目录或文件,该文件或目录的所属的用户为A,所属的组为用户A所在的组;

但是如果对目录B设置过gid以后,用户A在目录所属组B里面新建目录或文件,该文件或目录所属的用户为A,但是所属的组为B。

例如:用户A为root用户、目录test所属组B为jack组

默认情况下,root用户在test目录下面新建一个目录或文件,该文件或目录所属的用户为root,所属的组为root所在的组;但是如果对目录
test设置过gid以后,用户root在test目录下面新建一个目录或文件,该文件或目录所属的用户为root,但是所属的组为jack组。

   对组设置gid的方法:chmod g+s 目录

对组设置过gid以后,查看该组的权限,这时候你就会发现,原先在该目录组的权限x变成了s,这就对了,否则就不正常了……

3、冒险位对目录的作用

如果一个目录other具有r、w、x的权限,那么所有的用户的可以在该目录下面随便的创建、修改、删除目录。但是有些用户在该目录下面创建的文件不想让别的用户更改或是删除,那该怎么办?不要着急,这时就是冒险位出山的时候了。
   设置冒险位的方法:chmod o+t 目录
   对目录设置过冒险位以后,查看该组的权限,这时候你就会发现,原先在该目录的other权限的x变成了t,一切ok。

例如:/tmp目录就是所有的用户都可以在该目录下面新建、更改、删除文件。test用户在/tmp目录下面新建的一个test.txt,但是jack用
户登上来以后看见该文件没有什么作用,于是就删除了,但是test用户在test.txt文件里的数据就一下子不见了,这该如何是好……
   所以嘛,对/tmp目录设置过冒险位以后test用户新建的文件,jack将不能删除

注意:直接在文件上面设置冒险位是没有作用的,冒险位要创建在目录上面

4、set uid、set gid、sticky(冒险位)也可是使用数字进行表示

set uid  数字代表4
set gid  数字代表2
冒险位   数字代表1

如果对文件设置强制位  则:chmod 4---  文件
set gid               则:chmod 2---  文件
冒险位                则:chmod 1---  文件

---代表文件的权限

强制位(set uid和set gid)与冒险位(sticky)的作用都有什么的更多相关文章

  1. [代码修订版] Python 踩坑之旅 [进程篇其四] 踩透 uid euid suid gid egid sgid的坑坑洼洼

    目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 技术关键字 1.5 坑后思考 下期坑位预告 代码示例支持 平台: Centos 6.3 Python: 2.7.14 代码示例: 公 ...

  2. Python 踩坑之旅进程篇其四一次性踩透 uid euid suid gid egid sgid的坑坑洼洼

    目录 1.1 踩坑案例 1.2 填坑解法 1.3 坑位分析 1.4 技术关键字 1.5 坑后思考 下期坑位预告 代码示例支持 平台: Centos 6.3 Python: 2.7.14 代码示例: 菜 ...

  3. 64位系统下找不到office 32位组件

    如果系统式64位的,而装的是32位的office软件,在运行栏中输入命令:dcomcnfg,打开组件服务管理窗口,但是却发现找不到Microsoft Excel程序, 这主要是64位系统的问题,exc ...

  4. 一个n位的数,去掉其中的k位,问怎样去使得留下来的(n-k)位数按原来的前后顺序组成的数最小

    例如 8314925去掉4个数,留下125最小,注意有前后顺序要求,要是没有顺序当然是123. 解决方案 贪心算法,在每次被访问的位置保证有最优解. 思路一 分析:求一共n位,求其中的m位组成的数最小 ...

  5. 金句: "對比MBA學位,我們更需要PSD學位的人!" Poor, Smart and Deep Desire to… | consilient_lollapalooza on Xanga

    金句: "對比MBA學位,我們更需要PSD學位的人!" Poor, Smart and Deep Desire to… | consilient_lollapalooza on X ...

  6. input验证码框,输入非数字或非12位时,红框提示;每4位加一个空格

    以下代码:input验证码框,输入非数字或非12位时,红框提示;每4位加一个空格 //input验证码框,输入非数字或非12位时,红框提示;每3位加一个空格 $(".text"). ...

  7. 用位运算实现四则运算之加减乘除(用位运算求一个数的1/3) via Hackbuteer1

    转自:http://blog.csdn.net/hackbuteer1/article/details/7390093 ^: 按位异或:&:按位与: | :按位或 计算机系统中,数值一律用补码 ...

  8. GPIO——端口位设置/清除寄存器BSRR,端口位清除寄存器BRR

    端口位设置/复位寄存器BSRR: 注:如果同时设置了BSy和BRy的对应位,BSy位起作用. 位31:16  BRy: 清除端口x的位y (y = 0…15)      这些位只能写入并只能以字(16 ...

  9. 在64位的ubuntu 14.04 上开展32位Qt 程序开发环境配置(pro文件中增加 QMAKE_CXXFLAGS += -m32 命令)

    为了能中一个系统上开发64或32位C++程序,费了些周折,现在终于能够开始干过了.在此记录此时针对Q5.4版本的32位开发环境配置过程. 1. 下载Qt 5.4 的32位版本,进行安装,安装过程中会发 ...

随机推荐

  1. SQO2008配置管理工具服务显示远程过程调用失败0x800706be

    需要进行删除或更改程序里面,去卸载Microsoft SQL Server 2012 Express LocalDB就可以用了 如果还不可以看,看看是不是还有其它的占用了这个实例名 如: Micros ...

  2. MariaDB 管理

    在尝试运行MariaDB之前,首先确定其当前状态,运行或关闭. 有三个选项用于启动和停止MariaDB - 运行mysqld(MariaDB脚本). 运行mysqld_safe启动脚本. 运行mysq ...

  3. Druid数据源配置入门

    Druid是什么 Druid首先是一个数据库连接池.Druid是目前最好的数据库连接池,在功能.性能.扩展性方面,都超过其他数据库连接池,包括DBCP.C3P0.BoneCP.Proxool.JBos ...

  4. Effective Objective-C 2.0

    Effective Objective-C 2.0:编写高质量iOS与OS X代码的52个有效方法 作者:Matt Galloway(英) 译者:爱飞翔 出版社:机械工业出版社 出版年:2014-01 ...

  5. centos svn 安装

    #检查是否安装了低版本的SVN [root@zck /]# rpm -qa subversion #卸载旧版本SVN [root@zck modules]# yum remove subversion ...

  6. SPSS转换菜单:创建时间序列

    SPSS转换菜单:创建时间序列 1.概念:"创建时间序列"对话框允许您基于现有数值型时间序列变量的函数创建新的变量.这些转换后的值在时间序列分析中非常有用. 2.操作:转换-创建时 ...

  7. CentOS系统更换软件安装源yum

    第一步:备份你的原镜像文件,以免出错后可以恢复. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.back ...

  8. 【react】---react中使用装饰器

    一.creact-react-app中使用装饰器 运行 npm run eject 可以让由create-react-app创建的项目的配置项暴露出来 此时,项目中多了一个config文件,并且各个配 ...

  9. mysql 个人博客应用的建表和相关查询

    一.建表 用户表tb_user create table if not exists tb_user( user_id int auto_increment, ) not null, user_pas ...

  10. 转 Jmeter如何把响应数据的结果保存到本地的一个文件

    当做性能压测时,可能会需要把响应数据的一些字段统计出来.这里简单介绍一下. 1.首先把接口调通,确定需要统计的字段,这里以统计ccmpSeq字段来做例子. 2.添加正则表达式提取器,用来提取响应结果中 ...