suid/sgid/sticky

简介:

 文件本身已经有属主、属组和其它用户三种能够操作此文件的用户,每种用户又有读、写、执行三类权限,而在一些特殊的情况下仅使用这三类用户的三种权限是不能满足我们的需求,这时就需要给文件添加suid 、sgid、sticky权限,下面简单介绍这三种权限的用途及添加方法。

    suid:

        suid 一般设置在可执行文件上,设置的目的是让其他用户 使用 此可执行文件访问那些   与此可执行文件具有相同属主或属组的文件。

        suid的设置方法:

            chmod  u+s  file1....  或者使用另一种方法(在最后面说明) 进行设置

        当文件设置过suid后,在文件属主可执行权限位上表现为s或S

                若设置suid前,文件属主有可执行权限(即属主可执行权限位为x),设置后变为s

                ............................文件属主没有可执行权限(..................................为-),设置后变为S

    sgid:

        sgid一般设置在目录上,当一个目录设置过 sgid 权限后,凡是在此目录下创建的文件,无论文件的创建者是谁,文件的属组都和此目录的属组保持一致,相当于继承父目录的属组。

        如果在具有sgid权限的目录中 创建目录a,进入新建目录a,在a目录中再创建的文件仍然继承父目录的属组权限,如果更改了新建目录a的权限(即使更改过后再改回原样),那么在目录a中创建的文件则不再继承父目录的权限。

        sgid的设置方法:

            chmod  g+s  file1....  或使用另一种方法(在最后面说明)进行设置

        当目录设置过sgid后,在目录文件属组可执行权限位上表现为s或S

                若设置sgid前,目录文件属组有可执行权限(即属组可执行权限位为x),设置后变为s

                ............................目录文件属组没有可执行权限(..................................为-),设置后变为S

    sticky(粘滞位):

        sticky一般也是设置在目录上。通常普通用户所创建的文件  即使  能够设置权限  不让其他普通用户进行读写操作,但也不能阻止其他用户把此文件删除,而sticky权限所起的作用就是:各个用户在此目录中创建的文件只能由自己删除,其他用户不能删除;换句话说就是,在具有sticky权限的目录中每个用户只能删除自己创建的文件。

        sticky的设置方法:

            chmod  o+t  file1.....  或使用另一种方法(在最后面说明)进行设置

         当目录设置过sticky后,在目录文件‘其它用户’可执行权限位上表现为s或S

                若设置suid前,目录文件‘其它用户’可执行权限(即‘其它用户’可执行权限位为x),设置后变为t

                ............................目录文件‘其它用户’可执行权限(..................................为-),设置后变为T


    suid/sgid/sticky的设置方法还有一种。总所周知,文件的权限设置可以用chmod 755 file1....的格式进行设置;同样,suid/sgid/sticky的设置也可以使用这样的格式。suid/sgid/sticky和r/w/x一样分别用4/2/1进行表示,可以混合使用。

   若文件原来权限位755

         如果要设置suid可以使用chmod  4755  file1.....

         如果要设置sgid可以使用chmod  2755  file1.....

         如果要设置sticky可以使用chmod  1755  file1.....

     



本文转自 f_066 51CTO博客,原文链接:http://blog.51cto.com/ganmu/1845413,如需转载请自行联系原作者

相关文章
|
分布式计算 资源调度 Hadoop
Hadoop运行模式(五)、编写Hadoop集群常用脚本、Hadoop集群启停脚本、常用端口号说明、集群时间同步、时间服务器配置、其他机器配置
Hadoop集群启停脚本(包含HDFS,Yarn,Historyserver):myhadoop.sh、查看三台服务器Java进程脚本:jpsall、分发/home/atguigu/bin目录,保证自定义脚本在三台机器上都可以使用、如果服务器在公网环境(能连接外网),可以不采用集群时间同步,因为服务器会定期和公网时间进行校准;如果服务器在内网环境,必须要配置集群时间同步,否则时间久了,会产生时间偏差,导致集群执行任务时间不同步。...
651 1
Hadoop运行模式(五)、编写Hadoop集群常用脚本、Hadoop集群启停脚本、常用端口号说明、集群时间同步、时间服务器配置、其他机器配置
|
人工智能 自然语言处理 前端开发
用通义灵码,从 0 开始打造一个完整APP,无需编程经验就可以完成
通义灵码携手科技博主@玺哥超carry 打造全网第一个完整的、面向普通人的自然语言编程教程。完全使用 AI,再配合简单易懂的方法,只要你会打字,就能真正做出一个完整的应用。本教程完全免费,而且为大家准备了 100 个降噪蓝牙耳机,送给前 100 个完成的粉丝。获奖的方式非常简单,只要你跟着教程完成第一课的内容就能获得。
12269 17
|
人工智能 自然语言处理 前端开发
从文案到设计,我用通义版Artifacts生成了365张灵感日历
本文介绍了如何利用通义AI的“代码模式”功能,轻松制作个性化日历。作者通过实例展示了从设计日历样式、推荐每日生活小事到赋予小事新解的过程,强调了AI在创意实现上的强大助力。此外,还探讨了AI代码生成技术对未来创造力的影响,以及通义AI代码模式如何降低创作门槛,提高效率,让每个人都能成为应用开发者。
|
人工智能 JavaScript 数据可视化
Cursor 、v0 和 Bolt.new:当今 AI 编程工具的全面解析与对比
本文对 Cursor AI、v0 和 Bolt.new 三大 AI 编程工具进行了全面比较,分析其各自优势与局限性,帮助开发者在不同工作流中灵活应用。
1280 8
Cursor 、v0 和 Bolt.new:当今 AI 编程工具的全面解析与对比
|
Web App开发 缓存 前端开发
前端项目根据环境设置请求地址和接口代理,以及解决多个localhost服务token被覆盖
一般开发项目除了正式的生产环境,还会有对应的开发环境、测试环境和预发布环境,每个环境所访问的接口地址肯定不一样,如果自己一个个手动修改那就太不程序猿了
|
存储 API 开发工具
OSS工作原理
OSS工作原理
313 6
|
存储 Shell Linux
Pacemaker+corosync搭建双节点HA集群的可靠性验证
前一篇>中为确保共享资源的不被破坏,配置了3节点集群,本文想验证一下双节点时有什么风险。 Pacemaker的手册上也有描述,Pacemaker支持法定投票和资源抢占2种方式防止脑裂。
2231 0
|
算法 JavaScript Java
温习数据算法—贪吃蛇
温习数据算法—贪吃蛇
|
XML 开发工具 数据格式
鸿蒙开发(2)---Button组件
鸿蒙开发(2)---Button组件
1039 0
鸿蒙开发(2)---Button组件
|
运维 网络协议 云栖大会
一文回顾阿里云基础设施2022云栖精彩时刻!
一文回顾阿里云基础设施2022云栖精彩时刻!
一文回顾阿里云基础设施2022云栖精彩时刻!