交叉编译sudo

Posted carriezhangyan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交叉编译sudo相关的知识,希望对你有一定的参考价值。

编译Sudo version 1.8.6p7
下载路径:https://www.sudo.ws/news.html

1、交叉编译

# tar -xvf sudo-1.8.6p7.tar.gz 
# cd sudo-1.8.6p7/
# mkdir build
# ./configure --prefix=/home/carrie/sudo/sudo-1.8.6p7/build/ CC=aarch64-linux-gnu-gcc AR=aarch64-linux-gnu-ar --host=aarch64-linux-gnu
# make & make install

# ls build/   #编译产生的文件
bin include libexec sbin share

 

2、将文件拷贝到arm板
编译出来好多文件,其实有用的文件只有两个sudo和sudoers.so,只需要将这两个文件拷贝到arm板相应的目录下就好

#cp sudo /usr/bin/sudo
#cp sudoers.so /usr/local/libexec/sudoers.so

sudo 的权限设置修改 :
# chmod 622 /usr/bin/sudo
# chmod u+s /usr/bin/sudo 
# ls -al /usr/bin/sudo 
-rws--x--x 1 root root 519080 Oct 17 09:34 /usr/bin/sudo

解释:### u
+s :setuid:该位是让普通用户可以以root用户的角色运行只有root帐号才能运行的程序或命令。

 

3、在arm板创建/etc/sudoers

# vim /etc/sudoers
ALL ALL=(ALL) ALL # WARNING: only use this together with Defaults targetpw

###这一步可以保证sudo可以被普通用户使用

 









以上是关于交叉编译sudo的主要内容,如果未能解决你的问题,请参考以下文章

sudo保持环境变量

如何优化C ++代码的以下片段 - 卷中的零交叉

交叉编译环境在root用户下找不到arm-linux-gcc问题:

交叉编译和交叉调试环境搭建及使用

交叉编译概述

交叉编译iperf源代码