用户态软件读写root文件方法
2016-04-25 16:26
246 查看
在linux中每个进程有三个[实际上有第4个]用户标识符.
real uid : 真实用户ID.
saved uid : 已保存用户ID
effective uid : 有效用户ID
真实用户ID(real uid)是login时的用户.而在运行过程中,用于所有的安全检查的是有效用户ID(effective uid).
用户态软件访问root文件方法:
1、setuid(0) || seteuid(0) ||
2、chown root:root ${exe}
3、chmod 4111 ${exe} #改变有效id和已保存id
gtk3+ 不能使用setuid的方法,因为setuid的时候gtk会初始化动态加载模块,大概50万行,这是一个安全漏洞,所以gtk禁用setuid,setgid。gtk程序想使用root权限可以尝试使用一个root的后台程序或者用gksu的方法启动时输入root密码
现在有一个普通用户operation,我想让他有权限重启nginx服务,但是不允许他操作其他的系统服务及程序,从网上找到了很多解决方法,都是基于sudoer的配置的
参考文章:http://blog.chinaunix.net/uid-20722281-id-160009.html
http://www.gtk.org/setuid.html
real uid : 真实用户ID.
saved uid : 已保存用户ID
effective uid : 有效用户ID
真实用户ID(real uid)是login时的用户.而在运行过程中,用于所有的安全检查的是有效用户ID(effective uid).
用户态软件访问root文件方法:
1、setuid(0) || seteuid(0) ||
2、chown root:root ${exe}
3、chmod 4111 ${exe} #改变有效id和已保存id
gtk3+ 不能使用setuid的方法,因为setuid的时候gtk会初始化动态加载模块,大概50万行,这是一个安全漏洞,所以gtk禁用setuid,setgid。gtk程序想使用root权限可以尝试使用一个root的后台程序或者用gksu的方法启动时输入root密码
现在有一个普通用户operation,我想让他有权限重启nginx服务,但是不允许他操作其他的系统服务及程序,从网上找到了很多解决方法,都是基于sudoer的配置的
operation ALL=(ALL) NOPASSWD: /etc/init.d/nginx restart 格式如下: USER_FLAG HOST_FLAG=(RUNAS_FLAG) NOPASSWD:COMMAND_FLAG另外建议使用
visudo命令进行编辑,不要直接修改
/etc/sudoers。如命令格式不对、使用visudo编辑时保存退出会提示错误的
参考文章:http://blog.chinaunix.net/uid-20722281-id-160009.html
http://www.gtk.org/setuid.html
相关文章推荐
- Android应用分类和安全Domain
- CSS
- 面向对象的基础和设计模式
- 法线的变换的一些概念
- 手机设计尺寸 - iPhone界面尺寸
- 程序员的核心竞争力
- linux vim order
- Java对象初始化详解
- php获取下个月的今天
- Android开发改变状态栏的颜色
- memcached缓存数据库
- "php"正则表达式使用总结
- Android自动化测试之Monkey Test(一)
- Oracle与SQL Server数据库的异同
- 生成验证码
- 环境变量与文件查找
- Java中不同的并发实现的性能比较
- 4070: [Apio2015]雅加达的摩天楼
- iOS Core Animation
- 验证码切分程序