Modifier et personnaliser sa neufbox 4
Vous n'êtes pas connecté.
Discussion fermée
@ski a écrit:
C'est ce que j'ai fait.
Donc ma procédure est la suivante
J'ai mis la clé USB sur mon PC
renommer ob4-ok en ob4
Copier /ob4/etc/init.d/rc.firewall modifié
rebooter la NB4 avec la clé USB
Peut-on éviter de devoir mettre la clé usb sur le PC?
Peut-on modifier le fichier dans le dossier ob4 en telnet?
Merci,
@ski
EDIT : j'ai réussi en telnet ...
en telnet, tu peux copier /etc/init.d/rc.firewall dans /var, qui est en RW, le modifier, et l'exécuter
mes tes modifs ne seront pas permanentes
Hors ligne
fxmx86 a écrit:
en telnet, tu peux copier /etc/init.d/rc.firewall dans /var, qui est en RW, le modifier, et l'exécuter
Oui c'est ce que j'ai fait ensuite, par contre pour l'exécuter, quel paramètre dois je lui donner. ex : stop, ensuite, prepare ou lan ou acls...
Merci
@ski
Hors ligne
fait un grep dans /etc/init.d, ça te dira comment le script rc.firewall est appelé au démarrage de la box ![]()
Hors ligne
Bon ca y est, je ne pense pas que la réponse concerne le Mod FullUSB, mais il faut bien dire que ce mod est SUPER EFFICACE...
Donc mon gros problème n'était pas un problème de parefeu, mais le fait que la NB4 ne prenait pas mon routeur en tant que passerelle. Donc j'ai rajouter la ligne suivante dans rc.lan
route add -net 0.0.0.0 netmask 0.0.0.0 gw 192.168.0.1
Tout çà pour dire que ce Mod Full USB est vraiment pratique
Je peux ainsi de l'extérieur avoir un accès HTTP, SSH, WebDav
sauf le telnet qui semble être bloqué au niveau du programme
Merci encore a fxmx86 pour son Mod, et aux autres pour leur aide
Hors ligne
Bonjour à tous,
Dans le fw Mod FullUsb, le ftproot est le dossier /var/mnt
Est-il possible de changer cela? car un client ftp voit le contenu du fw
Merci,
@ski
Hors ligne
fxmx86 a écrit:
Exact, modifie le rc.ftpd pour diffuser un repertoire /data/ftproot. C'est ce que j'ai fait aussi...
A+
Ok mais je vais avoir besoin de tes lumières,
J'ai vu dans ton script que tu faisais un ln sur /var/mnt.
J'ai fais des essais de modification dans rc.ftpd afin de changer de ftproot, mais je me trouve avec des soucis de Permission Denied lors de l'exécution du script.
J'ai tenté du chown sans succès pour le moment.
Peut-être que c'est plus simple, qu'entends tu par 'diffuser' ?
@+
Hors ligne
voila ce que j'ai fait dans mon rc.ftpd :
#pure-pw useradd $username -f /var/pure.pw -u $(( 1000 + $I)) -g 999 -d /var/mnt ..... pure-pw useradd $username -f /var/pure.pw -u $(( 1000 + $I)) -g 999 -d /datas/ftproot ..... mkdir /datas/ftproot chmod 777 /datas/ftproot #
A+
Hors ligne
[root@Lost /var/mnt/sda/sda1/ob4-ok/etc/init.d] ./rc.ftpd ./rc.ftpd: ./rc.ftpd: 7: /data/ftproot: Permission denied
Ne fonctionne pas chez moi
Par contre je ne comprends pas le mkdir et le chmod après le pure-pw!
@+
@ski
Hors ligne
Ok, j'ai trouvé une soluce.
Faire un dossier sur la clé usb
cd /var/mnt/sda/sda1 mkdir ftproot chmod 777 ftproot
ensuite dans rc .filter j'ai rajouter la ligne suivante et modifier une
#!/bin/sh IPTABLES=/bin/iptables LAN_IPADDR=`/bin/nvram get lan_ipaddr` LAN_NET="$(net $LAN_IPADDR `/bin/nvram get lan_netmask`)" LAN_BR=`/bin/nvram get lan_ifname` FTPD_PORT=`/bin/nvram get ftpd_port` FTPD_ROOT="/var/mnt/sda/sda1/ftproot" ... pure-pw useradd $username -f /var/pure.pw -u $(( 1000 + $I)) -g 999 -d $FTPD_ROOT -p $password ...
Voili, voilou
@ski
Hors ligne
Grosse évolution en cours du mod : plus souple et plus simple !!
Il va passer de FullUsb à Full tout court car le rootFS pourra aussi se trouver sur la Flash.
Plus besoin de clé en EXT3, elle pourra ne contenir que des datas en Fat32.
Il utilisera un ob4-full.conf permettant de choisir le média Flash ou USB mais aussi le répertoire contenant le RootFS, donc avec la possibilité d'avoir plusieurs RootFS très facilement.
La désactivation et le passage au fonctionnement std du FW se fait par un fichier no-ob4-full sur la clé USB.
Et d'autres possibilités encore...
Hors ligne
J'attends avec impatience...
Merci encore pour ton boulot...
@+
Hors ligne
Ca se termine ! je teste encore un peu et je lance le nouveau Mod ob4-full pour Usb et Flash.
L'utilisation de la flash est très pratique (plus de clé EXT3, que du fat32) !
Les 1.8 Mo dans /usr/local sont suffisants : le rootFS + OWRT + Samba + E2fsprog tiennent dans moins de 1.4 Mo !
Et le changement de rootFS est aussi simple que pour grub, une modif de ob4-full.conf et je boote sur un nouveau rootFS vierge tout en conservant l'autre rootFS (la, je suis en train de tester les derniers snapshots de OWRT). Il ne restera plus qu'a pouvoir modifier le kernel lancé par la box et les possibilités de config du bootloader seront au complet ! ![]()
A+
Hors ligne
Avant de créer un nouveau post sur le nouveau Mod, voila le script ob4-full terminé :
#! /bin/sh
# Nom : ob4-full
# Version : 3.0
# Date : 14/09/2008
#
# Objectif : Avoir un acces complet RW au RootFS sur le FW officiel
# avec la possibilite de choisir le media (flash/USB) et le repertoire
# contenant le rootFS.
#
# Authors : fxmx86 with cuagn help - OpenBox4.org
#
# Pre-requis :
# Inittab doit lancer /etc/init.d/ob4-full au lieu de rcS.
# Creation de 2 repertoires /usb (pour le media) et /new (pour le rootFS).
# Ajout de ces fonctions a busybox : find, pivot_root
#
# Principe :
# Si le mode ob4-full est autorisé (pas de fichier no-ob4-full sur la cle USB) :
# Au premier boot, le fichier de parametres standard ob4-full.conf est cree
# dans la flash (/usr/local) et une copie complete du rootFS du firmware
# est placee sur la flash, dans le repertoire rootFS1 monte sur /new.
# Ensuite le repertoire ob4 contenu dans rootFS1 sera utilise pour
# patcher /new (donc aucune modif au premier boot).
# Enfin si tout s'est bien passe, un pivot_root est fait sur /new.
#
# Au boot suivant, le repertoire /new est inchange et monte directement.
# Pour regenerer la copie du FW, placer un fichier /raz a la racine du
# rootFS et rebooter.
#
# Pour un rootFS sur cle USB, celle-ci doit etre formatee en ext3 et
# il faut modifier ob4-full.conf pour indiquer le media (sda1/.../sdb3).
#
# Pour terminer, rcS est lance pour effectuer un demarrage standard.
#
# NOTA : Firmware kernel sadly not having swap function, so no swap possible.
PATH=/sbin:/bin
export PATH
mount /proc
insmod /lib/jbd.ko
insmod /lib/ext3.ko
echo "ob4-full : starting"
# Desactivation ob4-full par la cle USB
mount /dev/sda1 /usb
[ -e /usb/no-ob4-full ] && MEDIA=none
umount /usb
# Remplacement ob4-full par celui de la flash
[ "$MEDIA" != "none" ] && mount -t jffs2 /dev/mtdblock2 /usb
if [ -x /usb/ob4-full ]; then
mount /var
cp /usb/ob4-full /var
umount /usb
. /var/ob4-full >/var/ob4-full.log 2>&1
cp /var/ob4-full.log /usb
umount /var
else
# Initialisation de ob4-full.conf si necessaire
if ! [ -x /usb/ob4-full.conf ]; then
cat >/usb/ob4-full.conf <<EOF
# Parametres pour le mod ob4-full
#
# Media contenant le rootFS (sda1/../sdb3/mtdblock2/none)
MEDIA="mtdblock2"
# Repertoire contenant le rootFS
REP="rootFS1"
EOF
chmod 755 /usb/ob4-full.conf
fi
# Recuperation des parametres
. /usb/ob4-full.conf
# Passage sur le $MEDIA contenant le rootFS
if echo $MEDIA | grep -q sd; then
umount /usb && mount -t ext3 /dev/$MEDIA /usb || MEDIA="none"
fi
if [ "$MEDIA" != "none" ]; then
echo "ob4-full : rootFS alternatif autorise"
# Verification du repertoire contenant le rootFS
[ -d /usb/$REP ] || (mkdir -p /usb/$REP/ob4; touch /usb/$REP/raz)
mount -o bind /usb/$REP /new
if [ -e /new/raz ]; then
# Creation d'une copie du firmware initial s'il n'existe pas
echo "ob4-full : creation du rootFS initial alternatif"
# Conservation de l'ancien rootFS (hormis la partie OpenWRT)
mv /new/ob4 /usb/ob4old
rm -r /new/owrt
rm -r /new/usr/lib
rm -r /new/usr/sbin
umount /new
mv /usb/$REP /usb/$REP"old"
mkdir /usb/$REP
mount -o bind /usb/$REP /new
mv /usb/ob4old /new/ob4
# Copie du firmware vierge
umount /proc /usb
mount /var
for i in `find /`; do
[ -d $i ] && mkdir -p /var$i || ln -s /nb4$i /var$i
[ -L $i ] && cp -Pf $i /var$i
done
mount /proc
[ "$MEDIA" != "mtdblock2" ] && mount -t ext3 /dev/$MEDIA /usb \
|| mount -t jffs2 /dev/$MEDIA /usb
cp -a /var/* /new
umount /var
# Nettoyage
mkdir /new/nb4
rm -r /new/usb /new/new /new/mnt
ln -s /var/mnt /new/mnt
# Et application des fichiers dans /ob4
echo "ob4-full : et patch de / avec le contenu de /ob4 "
for i in `find /new/ob4`; do
j=${i#/new/ob4}
[ -d $i ] && mkdir -p /new$j || ln -sf /ob4$j /new$j
done
fi
# Pas de pivot_root s'il n'y a pas assez de place sur $MEDIA
if [ `df -h | awk '/\/usb/ {print $2}'` != \
`df -h | awk '/\/usb/ {print $3}'` ]; then
echo "ob4-full : pivot_root avec le rootFS alternatif"
pivot_root /new /new/nb4
umount /nb4/usb
mount -o move /nb4/proc /proc
else
echo "ob4-full : pas assez de place pour le rootFS alternatif"
umount /new /usb
fi
else
echo "ob4-full : rootFS alternatif non autorise"
umount /usb
fi
fi
umount /proc
echo "ob4-full : lancement de /etc/init.d/rcS"
. /etc/init.d/rcS
exit 0
#Hors ligne
yeah, merci fxmx86 !
Hors ligne
La suite du mod ob4-full ici :
http://www.neufbox4.org/forum/viewtopic … 7769#p7769
Hors ligne
Je ferme donc ce fil pour faciliter la suite dans la bonne conversation ....
Hors ligne
Discussion fermée