Quoting John <strgout at unixjunkie dot com>:
> > once again its /usr/libexec not /usr/lib.
> I'll prove it..
> This is from my FreeBSD 4.8 box.
> # chflags noschg /usr/libexec/ld-elf.so.1
> # mv /usr/libexec/ld-elf.so.1 ~
> # ls -l /usr/libexec/ld-elf.so.1
> ls: /usr/libexec/ld-elf.so.1: No such file or directory
> # su -
> ELF interpreter /usr/libexec/ld-elf.so.1 not found
> Abort trap
> # mv ~/ld-elf.so.1 /usr/libexec/
> # su -
> # echo $?
> # 0
> # chflags schg /usr/libexec/ld-elf.so.1
> echo $? is the exit status of the last proccess. 0 means everything worked.
> chflags removes the system immutable flag, which mean no one, not even root
> and change the file in any way. Also notice su worked even without this flag
Found the problem finally! As always it was a simple and stupid!
The read and exec permissions on the /lib directory were only for root:wheel,
so nobody other that root could run binaries in the system. I'm not sure if
it's by default in m0n0wall, or i svrewed it when installed mono-shellpack and
Thanks again for all your support!