1、setuid法

(1) 登录root用户,将程序设置成root:root所有者(等价于:登录root用户编译程序)。也可以直接将普通用户加入root组中,那么编译程序不用来回切换用户。

(2) 登录root用户设置程序的UID,# chmod u+s 源文件。

(3) 程序中使用:

uid_t uid = getuid();   //普通用户的uid

if (setuid(0)) {  //设置为普通用户和超级用户一样的权限

return -1;

}

//...

if (setuid(uid)) { //恢复uid   恢复到只有普通用户的权限

}

通过上面步骤则该用户不管在普通用户还是在root用户下都能获取root权限。

注意:

(1) 复制时要想连同其UID位一同复制,cp加参数-a,scp加参数-p。

(2) 若复制到其他Linux主机上要保证程序属于root:root所有者。

linux下利用C或C++语言调用需要root权限的函数相关推荐

  1. linux下利用C或C++ 语言调用需要root权限

    一.简介 linux对文件的权限控制比较严格,这样避免了有特殊意图的程序获取root权限,但在c++程序中希望获取root的执行权限去操作一些只有root可读写的文件. 二.详解 1.setuid法 ...

  2. Linux下QT软件使用C++语言调用百度AI接口实现人脸库人脸搜索

    参考文档Qt+百度AI实现人脸识别之人脸检测_画茧自缚-CSDN博客 本文档对于以上文档进行精简,参考以上文档实现百度AI人脸库管理-人脸搜索:百度AI接口一通具通,可以以此方法扩展. .h部分 #i ...

  3. 如何在LINUX下利用QT调用第三方软件WPS

    如何在LINUX下利用QT调用第三方软件WPS 前言: 在开发过程中,客户需要一个在线查看功能,能够打开WORD.PDF的文件,并且显示在屏幕上,需要调用第三方软件WPS来实现这个功能. 技术点: 1 ...

  4. 嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误

    嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误 2015-05-27 14:19 184人阅读 评论(0) 收藏 举报  分类: 嵌入式(928)  一般察看函数运行时堆栈的 ...

  5. 在linux下,如何在C语言中使用正则表达式

    http://hi.baidu.com/d_south/blog/item/9d22a34b1fc2bcf483025c53.html 在linux下,如何在C语言中使用正则表达式(整理) 2008- ...

  6. vss2010c语言怎么运行,在Linux下使用gcc运行C语言程序

    Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具.本教程毫不犹豫地使用GCC来编译C程序. ...

  7. Linux下利用rsync实现多服务器文件同步

    Linux下利用rsync实现多服务器文件同步 目标:多服务器文件同步 环境:2台centos5.6 Web端:192.168.20.20 Backup端:192.168.20.21 需要备份目录为: ...

  8. linux下利用openssl来实现证书的颁发(详细步骤)--转载和修改

    原文地址:http://www.cnblogs.com/firtree/p/4028354.html linux下利用openssl来实现证书的颁发(详细步骤) 1.首先需要安装openssl,一个开 ...

  9. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

最新文章

  1. 巴克码相关器的verilog HDL设计
  2. matlab中一组数取百分位数_GRE数学难题-正态分布+百分位数
  3. X小时速通《物联网导论》
  4. 【STM32】DMA相关函数和类型
  5. 机器学习如何计算特征的重要性_干货 :机器学习中的特征工程总结
  6. 动态区间第k小:树状数组套权值线段树
  7. 计算机专业买win,新买的电脑是win10系统,有的人却费尽心思重装成win7,为什么呢...
  8. 如何使用Elasticsearch在.NET应用程序中实现全文搜索
  9. mysql 搜索正则表达式_mysql必知必会--用正则表达式 进行搜索
  10. 第三:GitHub的使用(超详细)
  11. matlab复杂网络仿真,matlab在复杂网络上的应用
  12. Netty通信技术(一)
  13. vs error:无法打开源文件“stdafx.h
  14. 彩票站漏洞引发的软件测试漏测思考
  15. 在linux下安装gaussian09
  16. sql里的正则表达式
  17. gc2000导出丝印和坐标_GC2000导坐标方法
  18. 数据通信与计算机网络A笔记
  19. oracle存储多少条数据类型,Oracle目前可以存储极大的对象,这是因为它引入了四种新的数据类型。其中哪一种大对象数据类型在数...
  20. mysql联合查询注入防护,SQL注入之BypassWaf

热门文章

  1. Effective Java之在细节消息中包含能捕获失败的消息(六十三)
  2. 洛谷——P1583 魔法照片
  3. 【三种解法】Not so Mobile UVA - 839_19行代码AC
  4. 5行代码AC——L1-029 是不是太胖了 (5分)
  5. [leetcode] 142.环形链表2
  6. 谈谈你的GC调优思路?
  7. android按钮防止重复点击事件,实例详解Android解决按钮重复点击问题
  8. Java 判断文件夹、文件是否存在、否则创建文件夹
  9. magisk下载里显示没有模块_重大更新 | 仓耳云黑大字库amp;模块版本更新!
  10. github上传本地项目_提交本地项目到GitHub