用户态软件读写root文件方法

来源:互联网 发布:少女时时彩计划软件 编辑:程序博客网 时间:2024/05/21 09:59

在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的配置的

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

0 0
原创粉丝点击