Implement I_SUID/I_SGID feature for binfs in the POSIX compliant way. If set-user-ID bit is set in the file permissions, then the effective user ID of process shall be set to UID of the new process image file. test case: hello example emulates to set uid and file set-user-ID bit, and call geteuid and getegid API. UID = 2000 GID = 3000 MODE = 06555 nsh> ls -l /bin/hello -r-sr-sr-x 2000 3000 0 hello nsh> hello geteuid:2000 getegid:3000 Signed-off-by: fangxinyong <fangxinyong@xiaomi.com> |
||
|---|---|---|
| .. | ||
| CMakeLists.txt | ||
| fs_binfs.c | ||
| Kconfig | ||
| Make.defs | ||
| README.txt | ||
fs/binfs README
================
This is the binfs file system that allows "fake" execution of NSH built-
in applications via the file system. The binfs fs file system can be
built into the system by enabling:
CONFIG_BUILTIN=y
CONFIG_FS_BINFS=y
It can then be mounted from the NSH command like like:
mount -t binfs /bin
Example
=======
NuttShell (NSH) NuttX-6.31
nsh> hello
nsh: hello: command not found
nsh> mount -t binfs /bin
nsh> ls /bin
ls /bin
/bin:
hello
nsh> /bin/hello
Hello, World!!