Ich baue ein Linux-System von der Unterseite für ein Beagle Bone Board. Ich habe den Vanilla-Kernel kompiliert und ein Basis-Root-Dateisystem mit busybox
erstellt. Das System ist mit U-Boot gestartet, während die rootfs
auf einem Linux-PC und exportierte über NFS befindet:Busybox SUID auf NFS rootfs
/path/to/rootfs 10.42.0.17(rw,wdelay,no_root_squash,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
Die U-Boot-bootargs
ist:
bootargs console=ttyO0,115200n8 root=/dev/nfs rw nfsroot=${serverip}:/path/to/rootfs,v3,tcp ip=dhcp
Ich habe ein Problem festgestellt wenn versucht wird, su
für Nicht-root-Benutzer zu erhalten. Um das Problem zu umgehen, schlagen die Leute über das Internet vor, das suid
Bit für die busybox
Binärdatei zu setzen. Nach tun:
$ sudo chmod u+s busybox
und Verifizieren:
$ ls -la
...
-rwsr-xr-x 1 myuser myuser 1882976 Jan 13 21:47 busybox
...
$ stat -c "%a %n" busybox
4755 busybox
ging etwas schief. Der Kernel bootet und alle üblichen Nachrichten werden angezeigt, aber es bleibt am Ende stecken, und es wird keine Zeile login
angezeigt. Hier sind letzte Zeilen der Bootsequenz:
[ 3.776185] IP-Config: Complete:
[ 3.779656] device=eth0, hwaddr=c8:a0:30:c5:80:e9, ipaddr=10.42.0.17, mask=255.255.255.0, gw=10.42.0.1
[ 3.789877] host=10.42.0.17, domain=, nis-domain=(none)
[ 3.795822] bootserver=10.42.0.1, rootserver=10.42.0.1, rootpath=
[ 3.802492] nameserver0=10.42.0.1
[ 3.871575] VFS: Mounted root (nfs filesystem) on device 0:15.
[ 3.879903] devtmpfs: mounted
[ 3.883713] Freeing unused kernel memory: 380K (c07ef000 - c084e000)
Wenn die Flagge zu entfernen, die Dinge sind wieder normal:
....
[ 3.862291] Freeing unused kernel memory: 380K (c07ef000 - c084e000)
10.42.0.17 login:
Wenn das Flag aus der laufenden Shell auf der Beagle-Knochen-Board selbst reagiert die Shell nicht mehr, nachdem die chmod
ausgeführt wurde. Ich vermute, dass es etwas mit der Art und Weise zu tun hat, wie das NFS die rootfs exportiert, aber es ist nur eine Vermutung, daher wäre eine qualifizierte Erklärung und eine mögliche Lösung hilfreich.