J'utilise l'application gratuite SSHelper
Serveur SSH sur mon téléphone pour obtenir un accès SSH. Cependant, l'application ne se comporte pas correctement dans les cas suivants SELinux
lorsqu'il est réglé sur Enforcing
mais semblent fonctionner correctement en utilisant le mode Permissive
mode. Ce n'est pas surprenant car il a été développé sous CyanogenMod L'auteur n'est donc pas au courant de ces problèmes pour les AOS de stock appliquant SELinux.
Le problème se produit lorsque l'application tente d'allouer un /dev/pts/N
pseudo-terminal, pendant la connexion SSH. Cela échoue et le shell résultant est essentiellement inutile pour le développement. Après avoir passé un temps considérable à essayer de retrouver ce problème comme documenté ICI . Où j'ai trouvé les "erreurs" suivantes dans l'application /data/misc/audit/audit.log
fichier :
audit(1401291488.480:203): avc: denied { setattr } for pid=11441 comm="sshelper_sshd" name="0" dev="devpts" ino=3 scontext=u:r:untrusted_app:s0 tcontext=u:object_r:untrusted_app_devpts:s0 tclass=chr_file VE=SEPF_GT-I9195_4.2.2_0022_M
audit(1401291488.480:203): arch=40000028 syscall=15 per=840000 success=no exit=-13 a0=beffd438 a1=190 a2=27da a3=c0000000 items=1 ppid=8499 pid=11441 auid=4294967295 uid=10202 gid=10202 euid=10202 suid=10202 fsuid=10202 egid=10202 sgid=10202 fsgid=10202 tty=(none) ses=4294967295 comm="sshelper_sshd" exe="/data/data/com.arachnoid.sshelper/bin/sshelper_sshd" subj=u:r:untrusted_app:s0 key=(null)
audit(1401291488.480:203): cwd="/"
audit(1401291488.480:203): item=0 name="/dev/pts/0" inode=3 dev=00:09 mode=020600 ouid=10202 ogid=10202 rdev=88:00 obj=u:object_r:untrusted_app_devpts:s0
Cependant, comme je n'ai aucune expérience préalable de SELinux et de ses mystérieux mécanismes de protection, j'aurais vraiment besoin d'aide. Je ne sais même pas si c'est le vrai problème, juste une supposition. La vérification des permissions du fichier ci-dessus donne :
# ls -alZ /data/data/com.arachnoid.sshelper/bin/sshelper_sshd
-rwxr-xr-x u0_a202 u0_a202 u:object_r:app_data_file:s0 sshelper_sshd
Mais cette context
ne semble pas du tout correspondre à ce qui a été montré dans la journal .
Comment puis-je fixer ces permissions pour qu'elles fonctionnent bien avec SELinux lorsqu'en Mise en application de mode ?
(Par ailleurs, quels sont les outils et les fichiers disponibles dans Android pour résoudre ce problème ?)
0 votes
S'agit-il de développer l'application ou de configurer l'appareil ?
0 votes
Configurer l'appareil et "réparer" l'application, puisque l'application est déjà développée, mais je n'ai pas réussi à contacter le développeur. J'ai également essayé d'autres applications similaires avec exactement les mêmes problèmes. Il semble que la plupart des développeurs d'applications n'ont pas encore appris à connaître et à comprendre comment configurer et utiliser correctement ces mystérieuses et très ennuyeuses fonctionnalités SELinux.