Форум для тех, кто программирует под Android
Anonymous
Ошибка 126 (в доступе отказано) при выполнении команды sshpass на Android 14
Сообщение
Anonymous » 30 июн 2024, 19:14
У меня есть приложение, которое создает туннель ssh-соединения для пересылки трафика. но он отлично работает на Android 13 и ниже. но на Android 14 при запуске (выполнении) следующих команд возникает ошибка 126 ИЛИ Разрешение отклонено.
Я не знаю, что именно изменилось в Android 14 (разрешения или /data/ данные/или что-то еще). ошибка неясна, возможно, файл не найден.
Код: Выделить всё
protected static String BASE = "/data/data/com.staf621.ki4a/ki4a";
protected static String BASE_BIN = "/bin";
ssh_return_val = Util.runChainFireCommand(
((key_switch && !enc_ssh_key) ? "" : BASE + BASE_BIN + "/sshpass -p \"" + password_text + "\" ")
+ BASE + BASE_BIN + "/ssh " + server_text + " -p " + port_number + " -l " + user_text
+ " -NT -g -D " + Util.localSocksPort + (dns_switch?" -L 127.0.0.1:8163:"+dns_server+":53":"")
+ forward_string
+ (key_switch ? " -i \"" + BASE + "/id_rsa\"" : "")
+ (compress ? " -C" : "")
+ " -o \"ProxyCommand " + BASE + BASE_BIN + "/korkscrew"
+ (iptables_switch ? "" : " --ancillaryfile " + BASE + "/sshfd_file")
+ (proxy ? " --proxyhost " + proxy_host
+ " --proxyport " + proxy_port + " --desthost %h --destport %p"
+ " --headerfile " + BASE + "/header_file" + "\""
: " --directconnection --desthost %h --destport %p\"")
+ " -o \"KeepAlive yes\" -o \"ServerAliveInterval 15\""
+ " -o \"StrictHostKeyChecking=no\" -o \"GlobalKnownHostsFile=/dev/null\"", false, true);
}
Logcat:
Код: Выделить всё
[libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/sshpass: Permission denied
[libsuperuser][O][SH-] 126
[libsuperuser][C][SH%] END
[libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/busybox: Permission denied
[libsuperuser][C][SH+] /data/data/com.staf621.ki4a/ki4a/bin/busybox killall -9 korkscrew;/data/data/com.staf621.ki4a/ki4a/bin/busybox killall -9 ssh;/data/data/com.staf621.ki4a/ki4a/bin/busybox killall -9 tun2socks/data/data/com.staf621.ki4a/ki4a/bin/busybox killall pdnsd
[libsuperuser][C][SH%] END
[libsuperuser][C][SH%] START
[libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/busybox: Permission denied
[libsuperuser][C][SH+] /data/data/com.staf621.ki4a/ki4a/bin/busybox killall pdnsd; echo $?
[libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/busybox: Permission denied
[libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/busybox: Permission denied
[libsuperuser][C][SH%] END
[libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/busybox: Permission denied
[libsuperuser][O][SH-] 126
Я прикрепил изображение файлов /data/data/packagename/, а также содержимое и разрешения двоичных файлов. См. изображение
на android
Подробнее здесь:
https://stackoverflow.com/questions/786 ... android-14
1719764060
Anonymous
У меня есть приложение, которое создает туннель ssh-соединения для пересылки трафика. но он отлично работает на Android 13 и ниже. но на Android 14 при запуске (выполнении) следующих команд возникает ошибка 126 ИЛИ Разрешение отклонено. Я не знаю, что именно изменилось в Android 14 (разрешения или /data/ данные/или что-то еще). ошибка неясна, возможно, файл не найден. [code] protected static String BASE = "/data/data/com.staf621.ki4a/ki4a"; protected static String BASE_BIN = "/bin"; ssh_return_val = Util.runChainFireCommand( ((key_switch && !enc_ssh_key) ? "" : BASE + BASE_BIN + "/sshpass -p \"" + password_text + "\" ") + BASE + BASE_BIN + "/ssh " + server_text + " -p " + port_number + " -l " + user_text + " -NT -g -D " + Util.localSocksPort + (dns_switch?" -L 127.0.0.1:8163:"+dns_server+":53":"") + forward_string + (key_switch ? " -i \"" + BASE + "/id_rsa\"" : "") + (compress ? " -C" : "") + " -o \"ProxyCommand " + BASE + BASE_BIN + "/korkscrew" + (iptables_switch ? "" : " --ancillaryfile " + BASE + "/sshfd_file") + (proxy ? " --proxyhost " + proxy_host + " --proxyport " + proxy_port + " --desthost %h --destport %p" + " --headerfile " + BASE + "/header_file" + "\"" : " --directconnection --desthost %h --destport %p\"") + " -o \"KeepAlive yes\" -o \"ServerAliveInterval 15\"" + " -o \"StrictHostKeyChecking=no\" -o \"GlobalKnownHostsFile=/dev/null\"", false, true); } [/code] Logcat: [code][libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/sshpass: Permission denied [libsuperuser][O][SH-] 126 [libsuperuser][C][SH%] END [libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/busybox: Permission denied [libsuperuser][C][SH+] /data/data/com.staf621.ki4a/ki4a/bin/busybox killall -9 korkscrew;/data/data/com.staf621.ki4a/ki4a/bin/busybox killall -9 ssh;/data/data/com.staf621.ki4a/ki4a/bin/busybox killall -9 tun2socks/data/data/com.staf621.ki4a/ki4a/bin/busybox killall pdnsd [libsuperuser][C][SH%] END [libsuperuser][C][SH%] START [libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/busybox: Permission denied [libsuperuser][C][SH+] /data/data/com.staf621.ki4a/ki4a/bin/busybox killall pdnsd; echo $? [libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/busybox: Permission denied [libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/busybox: Permission denied [libsuperuser][C][SH%] END [libsuperuser][O][SH*] sh: [1]: /data/data/com.staf621.ki4a/ki4a/bin/busybox: Permission denied [libsuperuser][O][SH-] 126 [/code] Я прикрепил изображение файлов /data/data/packagename/, а также содержимое и разрешения двоичных файлов. См. изображение на android Подробнее здесь: [url]https://stackoverflow.com/questions/78688559/error-126permission-denied-when-executing-sshpass-command-on-android-14[/url]