Linux文件特殊权限
来源:互联网 发布:程序员的思维修炼原版 编辑:程序博客网 时间:2024/05/16 10:35
原文地址已无法找到
特殊权限
SUID、SGID、SBIT
先用ls -l命令看一下下面几个文件或目录的信息:
-rwsr-xr-x. 1 root root 25980 2月 22 2012 /usr/bin/passwd-rwx--s--x. 1 root slocate 35612 8月 24 2010 /usr/bin/locatedrwxrwxrwt. 24 root root 20480 10月 14 17:55 /tmp
会发现在文件拥有者,文件拥有者所在组,其他组的权限x的位置上被s或者t取代了,这是什么?
先来看看他们的作用:
SUID:当用户执行具有x权限的二进制文件时拥有此文件所有者的权限
SGID:当用户执行具有x权限的二进制文件时拥有此文件所在组的权限,另外也可以对目录设置此权限
SBIT:当用户对某个目录具有w和x权限时,在该目录下建立的文件和目录只有该用户和root用户才可以删除
听着很绕,举个例子:
比如普通用户用passwd命令去修改密码,而密码是存在/etc/shadow文件中,而普通用户是无法修改这个文件的,也就无法把新密码保存进来。
它的流程是这样的:
一、先看下/usr/bin/passwd这个文件,也就时命令passwd。
-rwsr-xr-x. 1 root root 25980 2月 22 2012 /usr/bin/passwd
发现这个文件的拥有者是root,并且其他组的权限为r-x,也就说普通用户对其具有r和x的权限。
二、既然普通用户对其具有执行权限,因此当普通用户执行这条命令时,由于s这个权限的存在,那么在执行过程中会暂时获取root的权限。
三、由于只有root才可以修改/etc/shadow
文件,而在此次执行过程中已经得到了root用户的支持,因此密码会顺利得写入到这个文件中。
那么,怎样才能增加这种权限呢?
可以参照第1节权限,使用chmod命令修改,命令如下:
SUID 4 SGID 2 SBIT 1
chmod 6777
这就添加了SUID和SGID权限,就是在原有权限的前面加了一个6。
另外,还有可能出现rwsrwsrwt大写的情况,变成rwSrwSrwT,出现这种情况是因为用户不具备文件的x权限,而又用上面的命令强加了特殊权限。这就矛盾了,因为这三个权限的基础是用户对其有有x权限,现在连x权限都没有,那有sst这个权限又有什么用呢?
- Linux特殊文件权限
- Linux文件特殊权限
- Linux文件特殊权限
- Linux文件特殊权限
- Linux特殊文件权限
- linux特殊文件权限
- linux文件特殊权限
- Linux文件特殊权限
- Linux文件特殊权限
- Linux文件特殊权限
- Linux文件特殊权限
- Linux文件特殊权限
- linux 文件特殊权限
- Linux 文件特殊权限
- Linux 文件特殊权限
- Linux文件特殊权限
- LINUX文件的特殊权限
- Linux的特殊文件权限
- 同一个listview上下展示不同布局,解决两个listview上下显示不全问题
- 企业如何利用软文推广做到风生水起的
- java中字符串/java对象<-->JSON对象互转
- 基于ZigBee和STM32的智能家居控制系统的设计与实现
- Android设备间实现蓝牙共享上网
- Linux文件特殊权限
- iOS Auto Layout 中的对齐选项
- 4.8.8 安卓开发笔记——自定义广告轮播Banner(无限循环实现)
- 【代码笔记】iOS-给背景图赋值颜色
- HDOJ 1517 A Multiplication Game
- MySQL 5.7.9源码编译安装步骤
- android:windowSoftInputMode属性详解
- 碎片的生命周期
- Podfile 常见语法