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

在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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值