tsu permission denied issues on oreo
I originally posted this in https://github.com/cswl/tsu/issues/30#issuecomment-460976194:
I am experiencing issues on my Galaxy S7 since an upgrade to Oreo. Downgrading Magisk from 18.1 to a version that worked on Nougat (e.g. 16.3) doesn't help, so I doubt it is a Magisk issue at all.
tsu is able to launch a shell via magisk su but that shell isn't able to run any executable anymore.
Re-adding the LD_* variables doesn't help.
selinux is permissive.
I don't know if this is related to #33 because some users report that they are using SuperSU.
I've also had a look at branch v3.0-stash but it looks incomplete. (E.g. libtsu-magisk.sh is referenced but missing.)
Do you have an explanation for this behavior and is there a known workaround yet?
Here are some details:
From within termux:
$ bash -x tsu
+ getopts :aehps:c opt
+ test -z /data/data/com.termux/files/usr
+ test -n ''
+ test -n ''
+ LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib
+ test -n ''
+ test -z ''
+ test -x /data/data/com.termux/files/home/.termux/shell
+ test -x /data/data/com.termux/files/usr/bin/bash
+ ROOT_SHELL=/data/data/com.termux/files/usr/bin/bash
+ OLD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib
+ '[' -e /sbin/magisk ']'
+ for s in '/magisk/.core/bin/su' '/sbin/su'
+ '[' -e /magisk/.core/bin/su ']'
+ for s in '/magisk/.core/bin/su' '/sbin/su'
+ '[' -e /sbin/su ']'
+ unset LD_LIBRARY_PATH
+ SU_BINARY=/sbin/su
+ '[' -z '' ']'
+ exec /sbin/su --preserve-environment -c 'LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib PATH=/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets /data/data/com.termux/files/usr/bin/bash'
# id
bash: /data/data/com.termux/files/usr/bin/id: Permission denied
# set
ANDROID_DATA=/data
ANDROID_ROOT=/system
BASH=/data/data/com.termux/files/usr/bin/bash
BASHOPTS=cmdhist:complete_fullquote:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_LINENO=()
BASH_SOURCE=()
BASH_VERSINFO=([0]="4" [1]="4" [2]="23" [3]="1" [4]="release" [5]="aarch64-unknown-linux-android")
BASH_VERSION='4.4.23(1)-release'
COLUMNS=144
DIRSTACK=()
EUID=0
EXTERNAL_STORAGE=/sdcard
GROUPS=()
HISTFILE=/data/data/com.termux/files/home/.bash_history
HISTFILESIZE=500
HISTSIZE=500
HOME=/data/data/com.termux/files/home
HOSTNAME=localhost
HOSTTYPE=aarch64
IFS=$' \t\n'
LANG=en_US.UTF-8
LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib
LINES=65
LOGNAME=u0_a294
MACHTYPE=aarch64-unknown-linux-android
MAILCHECK=60
OPTERR=1
OPTIND=1
OSTYPE=linux-android
PATH=/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets
PIPESTATUS=([0]="2")
PPID=30596
PREFIX=/data/data/com.termux/files/usr
PS1='\$ '
PS2='> '
PS4='+ '
PWD=/data/data/com.termux/files/home
SHELL=/data/data/com.termux/files/usr/bin/bash
SHELLOPTS=braceexpand:emacs:hashall:histexpand:history:interactive-comments:monitor
SHLVL=2
SSH_CLIENT='127.0.0.1 45315 1123'
SSH_CONNECTION='127.0.0.1 45315 127.0.0.1 1123'
SSH_TTY=/dev/pts/2
TERM=xterm-256color
TMPDIR=/data/data/com.termux/files/usr/tmp
UID=0
USER=u0_a294
_=--help
command_not_found_handle ()
{
/data/data/com.termux/files/usr/libexec/termux/command-not-found "$1"
}
# LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so id
bash: /data/data/com.termux/files/usr/bin/id: Permission denied
From adb shell:
hero2lte:/ $ /sbin/su
hero2lte:/ # for f in /sbin/su /sbin/magisk /sbin/magisk.bin /data/data/com.termux/files/usr/bin/{coreutils,id} /data/data/com.termux/files/usr/lib/libtermux-exec.so; do ls -l $f; file $f; done
lrwxrwxrwx 1 root root 12 2019-02-05 18:47 /sbin/su -> /sbin/magisk
/sbin/su: symbolic link
-rwxr-xr-x 1 root root 94 2019-02-05 18:47 /sbin/magisk
/sbin/magisk: /system/bin/sh script
-rwxr-xr-x 1 root root 100068 2019-02-05 18:47 /sbin/magisk.bin
/sbin/magisk.bin: ELF shared object, 32-bit LSB arm, dynamic (/system/bin/linker), BuildID=04ebe378f4100b5ff7c3eb7da8a17a10836e5ce1, stripped
-rwxr-xr-x 1 u0_a294 u0_a294 1054504 2018-07-03 11:20 /data/data/com.termux/files/usr/bin/coreutils
/data/data/com.termux/files/usr/bin/coreutils: ELF shared object, 64-bit LSB arm64, dynamic (/system/bin/linker64), for Android 21, built by NDK r17 (4754217), stripped
lrwxrwxrwx 1 u0_a294 u0_a294 9 2019-01-29 17:46 /data/data/com.termux/files/usr/bin/id -> coreutils
/data/data/com.termux/files/usr/bin/id: symbolic link
-rwxr-xr-x 1 u0_a294 u0_a294 5720 2017-10-01 22:13 /data/data/com.termux/files/usr/lib/libtermux-exec.so
/data/data/com.termux/files/usr/lib/libtermux-exec.so: ELF shared object, 64-bit LSB arm64, stripped
hero2lte:/ # cat /sbin/magisk
#!/system/bin/sh
unset LD_LIBRARY_PATH
unset LD_PRELOAD
exec /sbin/magisk.bin "${0##*/}" "$@"
hero2lte:/ # env | sort
ANDROID_ASSETS=/system/app
ANDROID_BOOTLOGO=1
ANDROID_DATA=/data
ANDROID_ROOT=/system
ANDROID_SOCKET_adbd=8
ANDROID_STORAGE=/storage
ASEC_MOUNTPOINT=/mnt/asec
BOOTCLASSPATH=/system/framework/core-oj.jar:/system/framework/core-libart.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/legacy-test.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/apache-xml.jar:/system/framework/org.apache.http.legacy.boot.jar:/system/framework/smartbondingservice.jar:/system/framework/sprengine.jar:/system/framework/android.hidl.base-V1.0-java.jar:/system/framework/android.hidl.manager-V1.0-java.jar:/system/framework/timakeystore.jar:/system/framework/fipstimakeystore.jar:/system/framework/ucmopensslenginehelper.jar:/system/framework/esecomm.jar:/system/framework/SemAudioThumbnail.jar:/system/framework/knoxsdk.jar:/system/framework/sec_edm.jar:/system/framework/sagearpolicymanager.jar:/system/framework/sec_sdp_sdk.jar:/system/framework/sec_sdp_hidden_sdk.jar:/system/framework/knoxvpnuidtag.jar
DOWNLOAD_CACHE=/data/cache
ENC_EMULATED_STORAGE_TARGET=/storage/enc_emulated
EXTERNAL_STORAGE=/sdcard
HOME=/
HOSTNAME=hero2lte
KNOX_STORAGE=/data/knox/ext_sdcard
LOGNAME=root
MC_AUTH_TOKEN_PATH=/efs
PATH=/sbin:/system/sbin:/system/bin:/system/xbin:/vendor/bin:/vendor/xbin
SHELL=/system/bin/sh
SYSTEMSERVERCLASSPATH=/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar:/system/framework/samsung-services.jar:/system/framework/hqm.jar:/system/framework/dmf.jar:/system/framework/ssrm.jar
TERM=dumb
TMPDIR=/data/local/tmp
USER=root
_=/system/bin/env
# getenforce
Permissive
Comparison of the virtual memory maps of bash
bash as user termux:
$ x=$(</proc/self/maps)
$ echo "$x"
7b3901a000-7b3902b000 r-xp 00000000 08:0e 8296 /system/lib64/libcutils.so
7b3902b000-7b3902d000 r--p 00010000 08:0e 8296 /system/lib64/libcutils.so
7b3902d000-7b3902e000 rw-p 00012000 08:0e 8296 /system/lib64/libcutils.so
7b39043000-7b39059000 r-xp 00000000 08:0e 8411 /system/lib64/liblog.so
7b39059000-7b3905a000 ---p 00000000 00:00 0
7b3905a000-7b3905b000 r--p 00016000 08:0e 8411 /system/lib64/liblog.so
7b3905b000-7b3905c000 rw-p 00017000 08:0e 8411 /system/lib64/liblog.so
7b39082000-7b390b9000 r-xp 00000000 08:0e 8417 /system/lib64/libm.so
7b390b9000-7b390ba000 r--p 00036000 08:0e 8417 /system/lib64/libm.so
7b390ba000-7b390bb000 rw-p 00037000 08:0e 8417 /system/lib64/libm.so
7b390d6000-7b390d8000 r-xp 00000000 08:0e 8450 /system/lib64/libnetd_client.so
7b390d8000-7b390d9000 ---p 00000000 00:00 0
7b390d9000-7b390da000 r--p 00002000 08:0e 8450 /system/lib64/libnetd_client.so
7b390da000-7b390db000 rw-p 00003000 08:0e 8450 /system/lib64/libnetd_client.so
7b39105000-7b391db000 r-xp 00000000 08:0e 8277 /system/lib64/libc++.so
7b391db000-7b391dc000 ---p 00000000 00:00 0
7b391dc000-7b391e4000 r--p 000d6000 08:0e 8277 /system/lib64/libc++.so
7b391e4000-7b391e5000 rw-p 000de000 08:0e 8277 /system/lib64/libc++.so
7b391e5000-7b391e8000 rw-p 00000000 00:00 0 [anon:.bss]
7b39200000-7b39600000 rw-p 00000000 00:00 0 [anon:libc_malloc]
7b39640000-7b39704000 r-xp 00000000 08:0e 8278 /system/lib64/libc.so
7b39704000-7b39705000 ---p 00000000 00:00 0
7b39705000-7b3970b000 r--p 000c4000 08:0e 8278 /system/lib64/libc.so
7b3970b000-7b3970d000 rw-p 000ca000 08:0e 8278 /system/lib64/libc.so
7b3970d000-7b3970e000 rw-p 00000000 00:00 0 [anon:.bss]
7b3970e000-7b3970f000 r--p 00000000 00:00 0 [anon:.bss]
7b3970f000-7b39716000 rw-p 00000000 00:00 0 [anon:.bss]
7b39763000-7b39765000 r-xp 00000000 08:0e 8305 /system/lib64/libdl.so
7b39765000-7b39766000 r--p 00001000 08:0e 8305 /system/lib64/libdl.so
7b39766000-7b39767000 rw-p 00002000 08:0e 8305 /system/lib64/libdl.so
7b39767000-7b39768000 rw-p 00000000 00:00 0 [anon:.bss]
7b39794000-7b397df000 r-xp 00000000 103:02 1591794 /data/data/com.termux/files/usr/lib/libncursesw.so.6.1
7b397df000-7b397f0000 ---p 00000000 00:00 0
7b397f0000-7b397f4000 r--p 0004c000 103:02 1591794 /data/data/com.termux/files/usr/lib/libncursesw.so.6.1
7b397f4000-7b397f6000 rw-p 00050000 103:02 1591794 /data/data/com.termux/files/usr/lib/libncursesw.so.6.1
7b39804000-7b39827000 r-xp 00000000 103:02 1589350 /data/data/com.termux/files/usr/lib/libandroid-support.so
7b39827000-7b39843000 ---p 00000000 00:00 0
7b39843000-7b39844000 r--p 0002f000 103:02 1589350 /data/data/com.termux/files/usr/lib/libandroid-support.so
7b39844000-7b39845000 rw-p 00030000 103:02 1589350 /data/data/com.termux/files/usr/lib/libandroid-support.so
7b39880000-7b39887000 r-xp 00000000 103:02 1589874 /data/data/com.termux/files/usr/lib/libhistory.so.7.0
7b39887000-7b3989f000 ---p 00000000 00:00 0
7b3989f000-7b398a0000 r--p 0000f000 103:02 1589874 /data/data/com.termux/files/usr/lib/libhistory.so.7.0
7b398a0000-7b398a1000 rw-p 00010000 103:02 1589874 /data/data/com.termux/files/usr/lib/libhistory.so.7.0
7b398d7000-7b398d8000 r-xp 00000000 103:02 1590495 /data/data/com.termux/files/usr/lib/libtermux-exec.so
7b398d8000-7b398d9000 r--p 00000000 103:02 1590495 /data/data/com.termux/files/usr/lib/libtermux-exec.so
7b398d9000-7b398da000 rw-p 00001000 103:02 1590495 /data/data/com.termux/files/usr/lib/libtermux-exec.so
7b398e2000-7b39912000 r--s 00000000 00:0f 12823 /dev/__properties__/u:object_r:default_prop:s0
7b39912000-7b3994d000 r-xp 00000000 103:02 1589635 /data/data/com.termux/files/usr/lib/libreadline.so.7.0
7b3994d000-7b39960000 ---p 00000000 00:00 0
7b39960000-7b39962000 r--p 0003e000 103:02 1589635 /data/data/com.termux/files/usr/lib/libreadline.so.7.0
7b39962000-7b39969000 rw-p 00040000 103:02 1589635 /data/data/com.termux/files/usr/lib/libreadline.so.7.0
7b39981000-7b399b1000 r--s 00000000 00:0f 12863 /dev/__properties__/properties_serial
7b399b1000-7b399b2000 rw-p 00000000 00:00 0 [anon:linker_alloc_vector]
7b399b3000-7b399b4000 rw-p 00000000 00:00 0 [anon:linker_alloc]
7b399be000-7b399bf000 r--p 00000000 00:00 0 [anon:linker_alloc]
7b399cc000-7b399ce000 rw-p 00000000 00:00 0 [anon:linker_alloc_vector]
7b399e4000-7b399e5000 rw-p 00000000 00:00 0 [anon:linker_alloc_small_objects]
7b399eb000-7b39a1b000 r--s 00000000 00:0f 12857 /dev/__properties__/u:object_r:debug_prop:s0
7b39a1b000-7b39a1c000 ---p 00000000 00:00 0
7b39a1c000-7b39a1d000 rw-p 00000000 00:00 0
7b39a1d000-7b39a1e000 ---p 00000000 00:00 0
7b39a1e000-7b39a4e000 r--s 00000000 00:0f 12863 /dev/__properties__/properties_serial
7b39a4e000-7b39b33000 r-xp 00000000 08:0e 226772 /system/bin/linker64
7b39b34000-7b39b38000 r--p 000e5000 08:0e 226772 /system/bin/linker64
7b39b38000-7b39b39000 rw-p 000e9000 08:0e 226772 /system/bin/linker64
7b39b39000-7b39ba5000 rw-p 00000000 00:00 0
7b39ba5000-7b39ba6000 r--p 00000000 00:00 0
7b39ba6000-7b39bac000 rw-p 00000000 00:00 0
7b39bac000-7b39c4a000 r-xp 00000000 103:02 1590315 /data/data/com.termux/files/usr/bin/bash
7b39c4a000-7b39c4b000 rw-p 00000000 00:00 0 [anon:linker_alloc_vector]
7b39c4c000-7b39c4d000 r--p 00000000 00:00 0 [anon:atexit handlers]
7b39c4d000-7b39c50000 rw-p 00000000 00:00 0 [anon:linker_alloc_small_objects]
7b39c50000-7b39c51000 rw-p 00000000 00:00 0 [anon:linker_alloc_vector]
7b39c51000-7b39c52000 rw-p 00000000 00:00 0 [anon:linker_alloc_small_objects]
7b39c52000-7b39c53000 rw-p 00000000 00:00 0 [anon:arc4random data]
7b39c53000-7b39c54000 rw-p 00000000 00:00 0 [anon:linker_alloc]
7b39c54000-7b39c55000 rw-p 00000000 00:00 0 [anon:linker_alloc_lob]
7b39c55000-7b39c56000 r--p 00000000 00:00 0 [anon:linker_alloc]
7b39c56000-7b39c57000 rw-p 00000000 00:00 0 [anon:linker_alloc_vector]
7b39c57000-7b39c58000 rw-p 00000000 00:00 0 [anon:linker_alloc_small_objects]
7b39c58000-7b39c59000 r--p 00000000 00:00 0 [anon:linker_alloc]
7b39c59000-7b39c5a000 rw-p 00000000 00:00 0 [anon:linker_alloc_small_objects]
7b39c5a000-7b39c5b000 r--p 00000000 00:00 0 [anon:atexit handlers]
7b39c5b000-7b39c5c000 ---p 00000000 00:00 0 [anon:thread signal stack guard page]
7b39c5c000-7b39c60000 rw-p 00000000 00:00 0 [anon:thread signal stack]
7b39c60000-7b39c61000 rw-p 00000000 00:00 0 [anon:arc4random data]
7b39c61000-7b39c62000 ---p 00000000 00:00 0 [anon:bionic TLS guard page]
7b39c62000-7b39c65000 rw-p 00000000 00:00 0 [anon:bionic TLS]
7b39c65000-7b39c66000 ---p 00000000 00:00 0 [anon:bionic TLS guard page]
7b39c66000-7b39c67000 r--p 00000000 00:00 0 [vvar]
7b39c67000-7b39c68000 r-xp 00000000 00:00 0 [vdso]
7b39c68000-7b39c6c000 r--p 000ac000 103:02 1590315 /data/data/com.termux/files/usr/bin/bash
7b39c6c000-7b39c6f000 rw-p 000b0000 103:02 1590315 /data/data/com.termux/files/usr/bin/bash
7b39c6f000-7b39c78000 rw-p 00000000 00:00 0
7fd0230000-7fd0251000 rw-p 00000000 00:00 0 [stack]
bash after tsu:
$ tsu
# echo "$x"
766385e000-766386f000 r-xp 00000000 08:0e 8296 /system/lib64/libcutils.so
766386f000-7663871000 r--p 00010000 08:0e 8296 /system/lib64/libcutils.so
7663871000-7663872000 rw-p 00012000 08:0e 8296 /system/lib64/libcutils.so
7663890000-76638a6000 r-xp 00000000 08:0e 8411 /system/lib64/liblog.so
76638a6000-76638a7000 ---p 00000000 00:00 0
76638a7000-76638a8000 r--p 00016000 08:0e 8411 /system/lib64/liblog.so
76638a8000-76638a9000 rw-p 00017000 08:0e 8411 /system/lib64/liblog.so
76638c4000-76638fb000 r-xp 00000000 08:0e 8417 /system/lib64/libm.so
76638fb000-76638fc000 r--p 00036000 08:0e 8417 /system/lib64/libm.so
76638fc000-76638fd000 rw-p 00037000 08:0e 8417 /system/lib64/libm.so
7663916000-76639ec000 r-xp 00000000 08:0e 8277 /system/lib64/libc++.so
76639ec000-76639ed000 ---p 00000000 00:00 0
76639ed000-76639f5000 r--p 000d6000 08:0e 8277 /system/lib64/libc++.so
76639f5000-76639f6000 rw-p 000de000 08:0e 8277 /system/lib64/libc++.so
76639f6000-76639f9000 rw-p 00000000 00:00 0 [anon:.bss]
7663a00000-7663e00000 rw-p 00000000 00:00 0 [anon:libc_malloc]
7663e4e000-7663e50000 r-xp 00000000 08:0e 8450 /system/lib64/libnetd_client.so
7663e50000-7663e51000 ---p 00000000 00:00 0
7663e51000-7663e52000 r--p 00002000 08:0e 8450 /system/lib64/libnetd_client.so
7663e52000-7663e53000 rw-p 00003000 08:0e 8450 /system/lib64/libnetd_client.so
7663e8a000-7663e8c000 r-xp 00000000 08:0e 8305 /system/lib64/libdl.so
7663e8c000-7663e8d000 r--p 00001000 08:0e 8305 /system/lib64/libdl.so
7663e8d000-7663e8e000 rw-p 00002000 08:0e 8305 /system/lib64/libdl.so
7663e8e000-7663e8f000 rw-p 00000000 00:00 0 [anon:.bss]
7663ef5000-7663f18000 r-xp 00000000 103:02 1589350 /data/data/com.termux/files/usr/lib/libandroid-support.so
7663f18000-7663f34000 ---p 00000000 00:00 0
7663f34000-7663f35000 r--p 0002f000 103:02 1589350 /data/data/com.termux/files/usr/lib/libandroid-support.so
7663f35000-7663f36000 rw-p 00030000 103:02 1589350 /data/data/com.termux/files/usr/lib/libandroid-support.so
7663f51000-7664015000 r-xp 00000000 08:0e 8278 /system/lib64/libc.so
7664015000-7664016000 ---p 00000000 00:00 0
7664016000-766401c000 r--p 000c4000 08:0e 8278 /system/lib64/libc.so
766401c000-766401e000 rw-p 000ca000 08:0e 8278 /system/lib64/libc.so
766401e000-766401f000 rw-p 00000000 00:00 0 [anon:.bss]
766401f000-7664020000 r--p 00000000 00:00 0 [anon:.bss]
7664020000-7664027000 rw-p 00000000 00:00 0 [anon:.bss]
7664045000-7664090000 r-xp 00000000 103:02 1591794 /data/data/com.termux/files/usr/lib/libncursesw.so.6.1
7664090000-76640a1000 ---p 00000000 00:00 0
76640a1000-76640a5000 r--p 0004c000 103:02 1591794 /data/data/com.termux/files/usr/lib/libncursesw.so.6.1
76640a5000-76640a7000 rw-p 00050000 103:02 1591794 /data/data/com.termux/files/usr/lib/libncursesw.so.6.1
76640af000-76640df000 r--s 00000000 00:0f 12823 /dev/__properties__/u:object_r:default_prop:s0
76640df000-76640e6000 r-xp 00000000 103:02 1589874 /data/data/com.termux/files/usr/lib/libhistory.so.7.0
76640e6000-76640fe000 ---p 00000000 00:00 0
76640fe000-76640ff000 r--p 0000f000 103:02 1589874 /data/data/com.termux/files/usr/lib/libhistory.so.7.0
76640ff000-7664100000 rw-p 00010000 103:02 1589874 /data/data/com.termux/files/usr/lib/libhistory.so.7.0
7664119000-7664154000 r-xp 00000000 103:02 1589635 /data/data/com.termux/files/usr/lib/libreadline.so.7.0
7664154000-7664167000 ---p 00000000 00:00 0
7664167000-7664169000 r--p 0003e000 103:02 1589635 /data/data/com.termux/files/usr/lib/libreadline.so.7.0
7664169000-7664170000 rw-p 00040000 103:02 1589635 /data/data/com.termux/files/usr/lib/libreadline.so.7.0
7664176000-76641a6000 r--s 00000000 00:0f 12863 /dev/__properties__/properties_serial
76641a6000-76641a7000 rw-p 00000000 00:00 0 [anon:linker_alloc]
76641b7000-76641b8000 rw-p 00000000 00:00 0 [anon:linker_alloc_vector]
76641c7000-76641c8000 rw-p 00000000 00:00 0 [anon:linker_alloc_small_objects]
76641d7000-76641d8000 r--p 00000000 00:00 0 [anon:atexit handlers]
76641d8000-7664208000 r--s 00000000 00:0f 12857 /dev/__properties__/u:object_r:debug_prop:s0
7664208000-7664209000 ---p 00000000 00:00 0
7664209000-766420a000 rw-p 00000000 00:00 0
766420a000-766420b000 ---p 00000000 00:00 0
766420b000-766423b000 r--s 00000000 00:0f 12863 /dev/__properties__/properties_serial
766423b000-7664320000 r-xp 00000000 08:0e 226772 /system/bin/linker64
7664320000-7664321000 rw-p 00000000 00:00 0 [anon:arc4random data]
7664321000-7664325000 r--p 000e5000 08:0e 226772 /system/bin/linker64
7664325000-7664326000 rw-p 000e9000 08:0e 226772 /system/bin/linker64
7664326000-7664392000 rw-p 00000000 00:00 0
7664392000-7664393000 r--p 00000000 00:00 0
7664393000-7664399000 rw-p 00000000 00:00 0
7664399000-7664437000 r-xp 00000000 103:02 1590315 /data/data/com.termux/files/usr/bin/bash
7664437000-7664439000 rw-p 00000000 00:00 0 [anon:linker_alloc_vector]
7664439000-766443a000 r--p 00000000 00:00 0 [anon:linker_alloc]
766443a000-766443d000 rw-p 00000000 00:00 0 [anon:linker_alloc_small_objects]
766443d000-766443e000 rw-p 00000000 00:00 0 [anon:linker_alloc_vector]
766443e000-766443f000 rw-p 00000000 00:00 0 [anon:linker_alloc_small_objects]
766443f000-7664440000 rw-p 00000000 00:00 0 [anon:linker_alloc_vector]
7664440000-7664441000 rw-p 00000000 00:00 0 [anon:linker_alloc]
7664441000-7664442000 rw-p 00000000 00:00 0 [anon:linker_alloc_lob]
7664442000-7664443000 r--p 00000000 00:00 0 [anon:linker_alloc]
7664443000-7664444000 rw-p 00000000 00:00 0 [anon:linker_alloc_vector]
7664444000-7664445000 rw-p 00000000 00:00 0 [anon:linker_alloc_small_objects]
7664445000-7664446000 r--p 00000000 00:00 0 [anon:linker_alloc]
7664446000-7664447000 rw-p 00000000 00:00 0 [anon:linker_alloc_small_objects]
7664447000-7664448000 r--p 00000000 00:00 0 [anon:atexit handlers]
7664448000-7664449000 ---p 00000000 00:00 0 [anon:thread signal stack guard page]
7664449000-766444d000 rw-p 00000000 00:00 0 [anon:thread signal stack]
766444d000-766444e000 rw-p 00000000 00:00 0 [anon:arc4random data]
766444e000-766444f000 ---p 00000000 00:00 0 [anon:bionic TLS guard page]
766444f000-7664452000 rw-p 00000000 00:00 0 [anon:bionic TLS]
7664452000-7664453000 ---p 00000000 00:00 0 [anon:bionic TLS guard page]
7664453000-7664454000 r--p 00000000 00:00 0 [vvar]
7664454000-7664455000 r-xp 00000000 00:00 0 [vdso]
7664455000-7664459000 r--p 000ac000 103:02 1590315 /data/data/com.termux/files/usr/bin/bash
7664459000-766445c000 rw-p 000b0000 103:02 1590315 /data/data/com.termux/files/usr/bin/bash
766445c000-7664465000 rw-p 00000000 00:00 0
7fd1c6a000-7fd1c8b000 rw-p 00000000 00:00 0 [stack]
i also getting this bash: /data/data/com.termux/files/usr/bin/applets/ls: Permission denied
how to solve this
android 5.1.1 root supersu
I got the same problem. I'm using Samsung Galaxy S4, android 5.0.1, and is rooted using supersu. the prompt goes like this:
$ tsu
# pwd
/data/data/com.termux/files/home
# ls
bash: /data/data/com.termux/files/usr/bin/ls: Permission denied
# whoami
bash: /data/data/com.termux/files/usr/bin/whoami: Permission denied
# what???
bash: /data/data/com.termux/files/usr/libexec/termux/command-not-found: Permission denied
I guess there's something to do with permissions, so I tried chmod -R 777 /data/data/com.termux/files/usr/ , but still won't work.
I'm still not sure what caused the problem. In the tsu shell, only the help and few other commands can be executed normally.
I took a screenshot to see what permissions are granted to it:

Those paths are started with something like "LD_LIBRARY_PATH_", but I found that $LD_LIBRARY_PATH_ is empty while $LD_LIBRARY_PATH is not. Does the small underline in the end matter?
Appreciations to your help. Hope to solve this problem.
I did as @Grimler91 said in termux/termux-api#269. I updated my rom and I'm using android 7 and magisk for root. Now the problem is gone. The tsu command functions normally.
I hame same issue on Samsung Galaxy S8 (SM-G950F), newest ROM from 2022-08-19 and Magisk 25.2. Everithing works fine until i start script by Termax bash.
$ sudo ./test
Content of "test":
#!/data/data/com.termux/files/usr/bin/bash
whoami
Result:
test: line 3: /data/data/com.termux/files/usr/bin/whoami: Permission denied
Problem si only in combination of root and Termax bash.