linux下利用C或C++语言调用需要root权限的函数
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权限的函数相关推荐
- linux下利用C或C++ 语言调用需要root权限
一.简介 linux对文件的权限控制比较严格,这样避免了有特殊意图的程序获取root权限,但在c++程序中希望获取root的执行权限去操作一些只有root可读写的文件. 二.详解 1.setuid法 ...
- Linux下QT软件使用C++语言调用百度AI接口实现人脸库人脸搜索
参考文档Qt+百度AI实现人脸识别之人脸检测_画茧自缚-CSDN博客 本文档对于以上文档进行精简,参考以上文档实现百度AI人脸库管理-人脸搜索:百度AI接口一通具通,可以以此方法扩展. .h部分 #i ...
- 如何在LINUX下利用QT调用第三方软件WPS
如何在LINUX下利用QT调用第三方软件WPS 前言: 在开发过程中,客户需要一个在线查看功能,能够打开WORD.PDF的文件,并且显示在屏幕上,需要调用第三方软件WPS来实现这个功能. 技术点: 1 ...
- 嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误
嵌入式 linux下利用backtrace追踪函数调用堆栈以及定位段错误 2015-05-27 14:19 184人阅读 评论(0) 收藏 举报 分类: 嵌入式(928) 一般察看函数运行时堆栈的 ...
- 在linux下,如何在C语言中使用正则表达式
http://hi.baidu.com/d_south/blog/item/9d22a34b1fc2bcf483025c53.html 在linux下,如何在C语言中使用正则表达式(整理) 2008- ...
- vss2010c语言怎么运行,在Linux下使用gcc运行C语言程序
Linux下使用最广泛的C/C++编译器是GCC,大多数的Linux发行版本都默认安装,不管是开发人员还是初学者,一般都将GCC作为Linux下首选的编译工具.本教程毫不犹豫地使用GCC来编译C程序. ...
- Linux下利用rsync实现多服务器文件同步
Linux下利用rsync实现多服务器文件同步 目标:多服务器文件同步 环境:2台centos5.6 Web端:192.168.20.20 Backup端:192.168.20.21 需要备份目录为: ...
- linux下利用openssl来实现证书的颁发(详细步骤)--转载和修改
原文地址:http://www.cnblogs.com/firtree/p/4028354.html linux下利用openssl来实现证书的颁发(详细步骤) 1.首先需要安装openssl,一个开 ...
- 【java】 linux下利用nohup后台运行jar文件包程序
Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...
最新文章
- 巴克码相关器的verilog HDL设计
- matlab中一组数取百分位数_GRE数学难题-正态分布+百分位数
- X小时速通《物联网导论》
- 【STM32】DMA相关函数和类型
- 机器学习如何计算特征的重要性_干货 :机器学习中的特征工程总结
- 动态区间第k小:树状数组套权值线段树
- 计算机专业买win,新买的电脑是win10系统,有的人却费尽心思重装成win7,为什么呢...
- 如何使用Elasticsearch在.NET应用程序中实现全文搜索
- mysql 搜索正则表达式_mysql必知必会--用正则表达式 进行搜索
- 第三:GitHub的使用(超详细)
- matlab复杂网络仿真,matlab在复杂网络上的应用
- Netty通信技术(一)
- vs error:无法打开源文件“stdafx.h
- 彩票站漏洞引发的软件测试漏测思考
- 在linux下安装gaussian09
- sql里的正则表达式
- gc2000导出丝印和坐标_GC2000导坐标方法
- 数据通信与计算机网络A笔记
- oracle存储多少条数据类型,Oracle目前可以存储极大的对象,这是因为它引入了四种新的数据类型。其中哪一种大对象数据类型在数...
- mysql联合查询注入防护,SQL注入之BypassWaf
热门文章
- Effective Java之在细节消息中包含能捕获失败的消息(六十三)
- 洛谷——P1583 魔法照片
- 【三种解法】Not so Mobile UVA - 839_19行代码AC
- 5行代码AC——L1-029 是不是太胖了 (5分)
- [leetcode] 142.环形链表2
- 谈谈你的GC调优思路?
- android按钮防止重复点击事件,实例详解Android解决按钮重复点击问题
- Java 判断文件夹、文件是否存在、否则创建文件夹
- magisk下载里显示没有模块_重大更新 | 仓耳云黑大字库amp;模块版本更新!
- github上传本地项目_提交本地项目到GitHub