【在板子上本地编译安装sudo命令】
(编译前一定要确保系统里面设置了C_INCLUDE_PATH环境变量,不然编译会出错)
cd ~
mkdir software
cd software
wget https://www.sudo.ws/dist/sudo-1.9.16p2.tar.gz --no-check-certificate
tar xf sudo-1.9.16p2.tar.gz
cd sudo-1.9.16p2
./configure
make
make install
作者共發了6篇帖子。
![]() |
【在板子上本地编译安装sudo命令】
(编译前一定要确保系统里面设置了C_INCLUDE_PATH环境变量,不然编译会出错) cd ~ mkdir software cd software wget https://www.sudo.ws/dist/sudo-1.9.16p2.tar.gz --no-check-certificate tar xf sudo-1.9.16p2.tar.gz cd sudo-1.9.16p2 ./configure make make install |
![]() |
[oct1158@luckfox-rv1106 ~]$ passwd
passwd: must be suid to work properly [oct1158@luckfox-rv1106 ~]$ su su: must be suid to work properly 解决passwd和su命令无法使用的问题: [root@luckfox-rv1106 ~/software/sudo-1.9.16p2]# ls -l /bin/busybox -rwxr-xr-x 1 root root 1385804 Jun 18 08:37 /bin/busybox [root@luckfox-rv1106 ~/software/sudo-1.9.16p2]# chmod 4755 /bin/busybox [root@luckfox-rv1106 ~/software/sudo-1.9.16p2]# ls -l /bin/busybox -rwsr-xr-x 1 root root 1385804 Jun 18 08:37 /bin/busybox [root@luckfox-rv1106 ~/software/sudo-1.9.16p2]# |
![]() |
目前sudo无法正常使用,输入正确的密码也提示Sorry, try again.,正在想办法解决中。
|
![]() |
回复 @巨大八爪鱼:找到原因了。sudo时必须输入/etc/passwd里面加密后的密码,否则会提示密码错误。这是因为板子上没有装crypt库,./configure的时候找不到crypt.h,于是#ifdef HAVE_CRYPT不成立,plugins/sudoers/auth/passwd.c里面的sudo_passwd_verify函数是直接用strcmp比较,看输入的密码是否和/etc/passwd里面写的加密后的密码相同。
|
![]() |
编译安装libxcrypt-4.4.38,这样板子上就有crypt.h了,再编译sudo的话config.h里面HAVE_CRYPT就成立了,就可以使用linux用户本身的密码了。
|
![]() |
交叉编译sudo-1.9.16p2,并在幸狐rv1106板子上使用,解决sudo即使输入正确的密码也提示Sorry, try again.的问题:https://blog.csdn.net/ZLK1214/article/details/149913469
|