Linux中的setuid简介
最近在项目中有一个需要给root权限的脚本, 因此详细看了一下关于Linux中setuid的使用方法, 在此做一下整理.
关于ruid和euid
首先需要明确一下Linux进程中ruid和euid的概念.
每一个Linux进程都会包含这两个uid.
ruid(real user ID):
ruid可以理解为哪个用户执行了这个程序或者文件, ruid就是谁.
euid(effective user ID):
当进程执行时间, 操作系统会对euid进行识别, 以此来判断到底用什么权限来执行这个进程.
也就是说操作系统实际是通过判断进程的euid而不是ruid来给予其权限,只是在大多数情况下, euid和ruid是相等的.
setuid
setuid是类unix系统提供的一个标志位, 其实际意义是set一个process的euid为这个可执行文件或程序的拥有者(比如root)的uid, 也就是说当setuid位被设置之后, 当文件或程序(统称为executable)被执行时, 操作系统会赋予文件所有者的权限, 因为其euid是文件所有者的uid.
举个例子
setuid的方法是使用Linux的chmod指令,我们都习惯给予一个文件类似“0750” “0644” 之类的权限,它们的最高位0就是setuid的位置, 我们可以通过将其设为4来设置setuid位。(tips:设置为2为setgid,同setuid类似,即赋予文件所在组的权限)。
chmod 4750 文件名
or
chmod u+s 文件名
在这个命令执行之后, 我们再通过ls -l命令查看文件时, 可以发现文件owner权限的x
位变成了s
,这就说明setuid权限已经被设置, 之后任何user执行这个文件时(user需要有文件的执行权限), 都会以root的权限运行(此文件的owner为root)。 所以,针对一个需要被很多user以root权限执行的文件, 我们可以通过setuid来进行操作, 这样就不必为所有user都添加sudo 命令。
tips
在使用setuid时, 需要保证此文件有被执行的权限(x
), 如果没有执行权限。 在使用ls -l查看权限时, 会发现setuid位被设置为了大写的S
, 这说明setuid位没有被设置成功。
Linux中的setuid简介相关推荐
- Linux中用户的简介与管理
女主宣言 众所周知,linux是一个多用户.多任务的操作系统.那么linux是如何区分和认证用户的,系统对每个用户的授权是如何管理的,出现问题时是如何追朔每个用户在系统内的操作记录,这些就涉及到了li ...
- Android系统篇之—-Android中的run-as命令引出升降权限的安全问题(Linux中的setuid和setgid)
一.前言 最近一周比较忙,没时间写东西了,今天继续开始我们今天的话题:run-as命令,在上周的开发中,遇到一个问题,就是在使用run-as命令的时候出现了一个错误,不过当时因为工作进度的问题,这问题 ...
- Android系统篇之----Android中的run-as命令引出升降权限的安全问题 Linux中的setuid和se
一.前言 最近一周比较忙,没时间写东西了,今天继续开始我们今天的话题:run-as命令,在上周的开发中,遇到一个问题,就是在使用run-as命令的时候出现了一个错误,不过当时因为工作进度的问题,这问题 ...
- linux中/dev/shm简介与大小修改
linux中/dev/shm简介与大小修改 文章目录 linux中/dev/shm简介与大小修改 简介 实操 验证/dev/shm存储位置 修改/dev/shm 大小 简介 linux中/dev目录下 ...
- [转]Linux中常见目录简介
学习一个东西只有去了解它的本源才能更好的利用它. 一.根目录下的 首先介绍一下linux中的根目录下的文件夹的作用: 目录 说明 备注 /bin /sbin 保存系统命令 /bin所有用户都能执 ...
- Linux中的echo简介(自我总结)(44)
2019独角兽企业重金招聘Python工程师标准>>> 能在echo中输出的字符:(注意运行这些字符时都要加-e选项.) Here are following escape sequ ...
- kali Linux中wafw00f的简介以及使用教程
在KaliLinux中提供了一款防火墙探测工具"wafw00f"(这里是数字"00",千万别搞错了),这个工具可以通过发送正常以及不正常甚至是包含恶意代码的HT ...
- 7、Linux中文件类型、文件属性
Linux中文件类型简介:Windows中通过扩展名来区分文件类型,但是在Linux中文件的扩展名与文件类型无关,为了兼容用户使用Windows的习惯,我们也会用扩展名来表示Linux中的文件类型.在 ...
- linux中权限765啥意思,Linux中的文件权限
Linux系统中的每一个文件都与多种权限类型相关联.在这些权限中,我们主要和三类权限打交道:用户(user).用户组(group)和其他用户(others).用户是文件的所有者:用户组是指和文件所有者 ...
最新文章
- QT实现SameGame
- PHP-Redis扩展安装 error: ext/standard/php_smart_str.h: No such file or directory
- You can't specify target table 'TS_AUTH_ADMIN' for update in FROM clause记录
- 苹果有意参与角逐奥斯卡 欲投资6部电影!
- Java 和 Python 疯狂 PK,等等,请不要放弃 C 语言
- 谷歌chrome浏览器提示“喔唷 崩溃啦”的解决方案
- 进制之间的转换(转)
- GeoDa空间计量(一)——空间权重矩阵的生成
- MATLAB 神经网络函数
- 英语口语 MP3 下载网址
- 利用python构建信用卡评分
- AERONET 儒略日公历相互转换
- 【Python表白爱心合集】——“故事很长,我长话短说,我喜欢你,很久了”(♡ʟᴏᴠᴇ ᴜ ᴛʜʀᴇᴇ ᴛʜᴏᴜsᴀɴᴅ♡)
- android小说阅读、MVP + RxJava + Retrofit项目、证件拍照裁剪、蓝牙锁等源码器
- 传统编译器和DL编译器的调研和理解
- LaTeX:overleaf latex 中文生僻字处理
- 慢性病监测及早期干预迫在眉睫
- gulp代码压缩和制作雪碧图
- SQL优化速度,关于like
- IDEA-Java注释模板设置