Hello all, I am having a problem with switching to a non-root user on my AT91RM9200-based ARM system. I am using Linux 2.6.10 with the AT91RM9200 patch from http://maxim.org.za/AT91RM9200/2.6/ (fixed so that NAND support works) and the Yaffs patches by Frank Rowand, and a statically linked Busybox 1.00. / is on a Yaffs partition. # mount /dev/mtdblock1 on / type yaffs (rw,noatime) /dev/mtdblock0 on /boot type yaffs (ro,noatime) none on /proc type proc (rw,nodiratime) Everything works fine when I'm root, and I can run Busybox commands and read and write files. But when I do a "su karl" it says: / # su karl su: cannot run /bin/sh: Permission denied /etc/passwd contains: root:x:0:0:root:/root:/bin/sh karl:x:500:100:KarlOlsen:/home/karl:/bin/sh # ls -l -d /bin drwxr-xr-x 1 root root 512 Jan 1 00:00 bin /bin/sh is a symlink pointing to /bin/busybox: -rwxrwxrwx 1 root root 438260 Jan 1 00:00 busybox I have tried replacing /bin/sh in /etc/passwd with other commands, but I always get the Permission denied. The Busybox source shows that it successfully changes identity to uid=500 and gid=100 and cd's to my home directory but fails at the execv() that tried to run /bin/sh. I tried the same with an initrd with romfs, and with that, it worked. But romfs doesn't seem to implement uid and gid for its files/directories. Does anybody know if this problem can be related to Yaffs? Does the Yaffs filesystem have (hidden) mount options that can deny execution for non-root? Regards, Karl Olsen