3 votes

Comment exécuter le script .sh (commandes iptables) au démarrage

Je suis en train d'utiliser LineageOS 18.1

Quand j'étais sur LOS 16, je modifiais le fichier /system/etc/init.d/00banner et j'y mettais mes commandes iptables, par exemple :

#!/system/bin/sh
sh -c 'iptables -A OUTPUT -m owner --uid-owner 10195 -d 203.205.255.78/23 -j REJECT'

Toutes les commandes iptables que j'y mettais s'exécutaient au démarrage du téléphone. Mais dans LOS 18.1, le répertoire /system/etc/init.d/ a été déprécié.

1. J'ai créé et rempli le script personnalisé avec les commandes iptables ci-dessus :

touch /system/etc/custominit.sh
chmod 0755 /system/etc/custominit.sh

2. Ensuite, j'ai modifié /system/etc/init/hw/init.rc et j'ai ajouté à la fin :

chmod 0755 /system/etc/custominit
exec /system/etc/custominit

3. J'ai également essayé d'ajouter :

service custominit /system/bin/custominit.sh
    disabled
    oneshot

Mais rien de tout cela n'a fonctionné.

Qu'est-ce que je fais de mal ? J'ai un accès root mais je ne veux pas installer d'applications supplémentaires sur mon téléphone pour cela, comme c'était possible de le faire sur LOS 16.

3voto

light9876 Points 61

Le problème a été résolu en suivant les instructions ici :

https://ch1p.io/lineageos-run-shell-script-at-boot-as-root/

Le problème principal s'est avéré être le chemin d'accès complet manquant des exécutables, par exemple :

/system/bin/iptables au lieu de iptables

0 votes

... cela n'explique pas pourquoi 'echo test >> /data/local/tmp/test.log' n'a pas fonctionné pour vous

1voto

Scott Points 61

Une fois que vous avez ajouté votre service en tant que "désactivé" sur init.rc, vous devez l'appeler au démarrage, ajoutez les lignes suivantes :

au démarrage
    custominit vos_paramètres

J'espère que cela résoudra votre problème

0 votes

La syntaxe n'est pas correcte. Il devrait s'agir de start custominit vos_params. Mais cela pourrait quand même ne pas fonctionner en raison d'autres raisons.

1 votes

Non, cela n'a pas fonctionné.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X