Salut,
Et la mer qu’est démontée, vous la remontez quand ? Au meme moment que vous réactiverez le Wiki
Salut,
Et la mer qu’est démontée, vous la remontez quand ? Au meme moment que vous réactiverez le Wiki
Bonjour, un script pour supprimer temporairement des fichiers, dernier rempart avant le
rm -rf
fatidique et tellement humain
Pour peu qu’il fonctionne, et qu’on prenne l’habitude de ne plus utiliser rm
(on peut même imaginer d’invalider la commande rm
sauf pour le panier …), ça peut le faire :
1/ Créer un fichier dans un répertoire de scripts (ex: /.scripts/remove).
2/ Coller ce contenu dedans :
#!/bin/bash
# suppression temporaires des fichiers et répertoires dans un repertoire Panier.
PANIER=/home/$USER/Panier # la corbeille
# On la crée si nécessaire
if [ -e "$PANIER" ]; then
if [ -f "$PANIER" ]; then
echo "Un fichier nommé panier est déjà présent, supprimez ou renommez le"
echo "ou modifier le nom du repertoire Panier dans la variable ci-dessus."
fi
else
mkdir $PANIER
chmod 770 $PANIER # user à tout les droits dessus
fi
# on détermine un mode détaillé des actions
declare -i MODE=1
[ "$1" == '-v' ] && {
MODE=0
shift
}
[ $MODE -eq 0 ] && echo "Les fichiers spécifiés vont être déplacés dans $PANIER"
# on teste les arguments passés
case $# in
0)
echo "Usage: remove [-v :verbose] fichier:"
echo "Spécifiez un fichier ou un repertoire à supprimer"
exit 1 ;;
*)
for fic in $*; do # simple boucle sur les fichiers
[ ! -e $fic ] && {
echo "Argument invalide <$fic> ignoré"
continue # ignore les noms de fichiers incorrects
}
if [ -e "$PANIER/$fic" ]; then # vérifie que la corbeille ne contient pas $fic
read -s -p "Il existe déjà un fichier $fic dans le panier, écraser (y/N): " resp
case $resp in
y | Y | o | O)
echo
# on doit déplacer le fichier de même nom, qu'on renomme (?)
mv $PANIER/$fic $PANIER/$fic-bak
mv $fic $PANIER # si éffacement confirmé, on déplace
if [ $? -eq 0 ]; then
[ $MODE -eq 0 ] && echo "Suppression de $fic"
fi ;;
*) echo ;; # ou bien ne fait rien
esac
else
mv $fic $PANIER # on déplace $fic dans la corbeille
if [ $? -eq 0 ]; then
[ $MODE -eq 0 ] && echo "Suppression de $fic"
fi
fi
done ;;
esac
3/ Attribuer les permissions nécessaires :
# chown root:root /.scripts/remove
# chmod 755 /.scripts/remove
rendu exécutable pour tout utilisateur.
4/ linker se fichier dans le bin d’un utilisateur ayant droit :
# ln -s /.scripts/remove /home/$USER/bin/remove
Ici, si vous linkez en root
, remplacez $USER
par le nom réel de l’user (en dur).
2 questions :
un if else
ne serait il pas mieux qu’un case
?
il créerais pas un répertoire panier à chaque fois qu’on l’appel?
Q1: en terme d’execution, un case
est pareil à un if ... then ... elseif ... then ... elseif ... fi
, mais pour traiter tous les cas (comme par exemple y | Y | o | O
) c’est plus compact à ecrire avec un case
.
Q2: non: il teste au debut si le panier existe et ne fait rien si c’est le cas.
Bonjour,
Oui … (ou c’est affaire de style). En relisant, je mettrai plutôt ligne 9:
echo "ou modifier le nom du repertoire Panier dans la variable Panier dans `basename $0`."
Voici un petit script pour gérer les utilisateurs virtuels avec Pure-FTPd
:
#!/bin/bash
#
################################################################################
# Configuration :
# adaptez cette ligne selon votre installation
PASSWDFILE=/etc/pure-ftpd/pureftpd.passwd
# adaptez selon les parametres que vous avez choisis pour votre serveur (laissez
# les guillemets)
PUREFTPCONF="/usr/sbin/pure-ftpd -A -b -c10 -B -C2 -D -E -fftp -H -I5 -lpuredb:/etc/pure-ftpd/pureftpd.pdb -L10000:3 -m4 -p10000:10400 -s -U133:022 -u1000 -Oclf:/var/log/transfers.log -k95 -Y0 &"
# Adaptez selon l'UID de l'utilisateur ftpuser et le GID du groupe ftpgroup
# sur votre Linux
NUMIDDEFTPUSER=1002
NUMIDDEFTPGROUP=1002
# répertoire chrooté des users créés
PATHACCES=/var/www/
#Fin de la configuration
################################################################################
CHOIX=0
clear
echo -e "\n\t\t\t***********************\n\t\t\t* Gestion de Pure-FTP *\n\t\t\t***********************\n"
while [ $CHOIX != 9 ]; do
echo -e "\t\t\tChoix possibles:\n\t\t1: Ajouter un utilisateur virtuel.\n\t\t2: Effacer un utilisateur virtuel.\n\t\t3: Voir les droits d'un utilisateur.\n\t\t4: Lister les utilisateurs.\n\t\t5: Changer le passwd d'un utilisateur.\n\t\t6: Voir les connections actives du serveur.\n\t\t7: Démarrer le serveur.\n\t\t8: Tuer le serveur.\n\t\t9: Quitter.\n\nTapez l'entier correspondant a votre choix:"
read CHOIX
echo ""
case $CHOIX in
1)
echo "Entrez le login à ajouter: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if [ $NICK = root ];then
echo -e "Erreur, veuillez indiquer un login différent de root!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
echo -e "$NICK a déjà un compte\n"
else
pure-pw useradd $NICK -u $NUMIDDEFTPUSER -g $NUMIDDEFTPGROUP -d $PATHACCES
echo -e "Utilisateur virtuel $NICK ajouté!\n"
pure-pw mkdb
fi
fi
fi
;;
2)
echo "Entrez le login à effacer: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
pure-pw userdel $NICK
echo -e "Utilisateur virtuel $NICK supprimé!\n"
pure-pw mkdb
else
echo -e "L'utilisateur $NICK n'existe pas!\n"
fi
fi
;;
3)
echo "Entrez le login dont vous voulez vérifier les droits: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
pure-pw show $NICK
else
echo -e "L'utilisateur $NICK n'existe pas!\n"
fi
fi
;;
4)
echo -e "\tLogin\t\t| UID\t| GID\t| path"
echo -e "\t----------------+-------+-------+-----------------------"
awk 'BEGIN { FS=":" } NF==0{next} {print " "$1 " \| " $3 " \| " $4 " \| " $6}' $PASSWDFILE
echo ""
;;
5)
echo "Entrez le login dont le passwd doit changer: "
read NICK
if [ "$NICK" = "" ];then
echo -e "Erreur, veuillez indiquer un login!\n"
else
if grep $NICK $PASSWDFILE > /dev/null
then
pure-pw passwd $NICK
echo -e "Le passwd de $NICK est changé!\n"
pure-pw mkdb
else
echo -e "L'utilisateur $NICK n'existe pas!\n"
fi
fi
;;
6)
pure-ftpwho -v
;;
7)
eval $PUREFTPCONF
echo -e "Serveur FTP\t\t\t[ON]\n"
;;
8)
for VAR in "`ps -A | grep pure-ftpd`"; do
if [ pure-ftpd = "`echo $VAR | gawk -F" " '{print $4}'`" ]; then
VAR=`echo "$VAR" | gawk -F" " '{print $1}'`
kill -9 $VAR
fi
done;
echo -e "Serveur FTP\t\t\t[OFF]\n"
;;
9)
clear
echo -e "\n\n\n\t\tA bientôt!\n"
sleep 2
clear
exit
;;
*)
echo -e "Votre choix n'est pas valide!"
CHOIX=0
;;
esac
echo "Press <Enter>"
read UNUSED
clear
done
Bonsoir,
un script pour installer java sur notre debian (tester sur etch/sid) :
[SITE NO LONGER AVAILABLE]
https://jcodejava.com/index.php?id_page=10
menus: bash -> javanoob-installer-1.0
[SITE NO LONGER AVAILABLE]
C’est plus un script orienté noob de base qu’autre chose, m’enfin j’me suis bien “amusé”.
ps: merci de commenter ici pour du bref, ou bugs et suggestions, améliorations, mise à jours --> en message sur ma MP.
un petit script pour les parents qui en on marre de discutailler avec leurs enfants accros de amsn
et de leur dire d’aller faire leurs devoirs
On renomme l’exécutable amsn
, chez certains /usr/share/amsn/amsn
en /usr/share/amsn/amsn-real
# mv /usr/share/amsn/amsn /usr/share/amsn/amsn-real
On crée un fichier de remplacement qu’on rend exécutable pour tous :
# touch /usr/share/amsn/amsn && chmod a+rx /usr/share/amsn/amsn
On y colle ce code (nano /usr/share/amsn/amsn
):
#!/bin/bash
if [ $EUID -ne 1000 ]; then
declare -i delay
declare -a lun_mar_jeu=( 18:30:00 19:30:00 )
declare -a mer_ven=( 18:30:00 21:00:00 )
declare -a we=( 11:00:00 12:30:00 19:00:00 21:00:00 )
declare h_min=
declare h_max=
declare DATE_CUR="$(date)"
declare JOUR_CUR="$(echo "$DATE_CUR" | awk '{print $1}')"
declare HEURE_CUR="$(echo "$DATE_CUR" | awk '{print $5}')"
check_time() {
tab=( $(echo "$1") )
while [ ${#tab[@]} -ne 0 ]; do
h_min=${tab[0]}
h_max=${tab[1]}
if ((echo "$h_min" && echo $HEURE_CUR) | sort -c &> /dev/null); then
if ((echo "$HEURE_CUR" && echo $h_max) | sort -c &> /dev/null); then
# calcul du délai
# calcul des heures:
declare -i hm=$(echo $h_max | gawk -F':' '{print $1}')
declare -i hc=$(echo $HEURE_CUR | gawk -F':' '{print $1}')
delay=$hm-$hc
delay=$delay*3600
# calcul des minutes:
hm=$(echo $h_max | gawk -F':' '{print $2}')
hc=$(echo $HEURE_CUR | gawk -F':' '{print $2}')
delay+=$(( $hm-$hc ))*60
return 0
fi
fi
unset tab[0]
unset tab[1]
tab=( $(echo ${tab[@]}) )
done
return 1
}
case $JOUR_CUR in
lundi|mardi|jeudi)
if ! check_time ${lun_mar_jeu[@]}; then
DISPLAY=:0.0 xmessage -center "C'est pas le moment, et les devoirs !?
horaires possibles: ${lun_mar_jeu[@]}"
exit 1
fi ;;
mercredi|vendredi)
if ! check_time ${mer_ven[@]}; then
DISPLAY=:0.0 xmessage -center "C'est pas le moment, et les devoirs !?
horaires possibles: ${mer_ven[@]}"
exit 1
fi ;;
samedi|dimanche)
if ! check_time "$(echo ${we[@]})"; then
DISPLAY=:0.0 xmessage -center "C'est pas le moment, et les devoirs !?
horaires possibles: ${we[@]}"
exit 1
fi ;;
esac
/usr/share/amsn/amsn-real &
sleep $delay
DISPLAY=:0.0 xmessage -center "Fermeture de amsn dans 30 secondes !" &
sleep 30
killall wish
else /usr/share/amsn/amsn-real &
fi
exit 0
Et voilà, seul vous (EUID=1000 normalement) est autorisé quelque soit l’horaire et le jour.
Edit: j’ai rajouter des lignes pour killer amsn
quand c’est plus l’heure
nooon y’a des limites lol.
Et est ce que le PV arrive automatiquement dans la boite au lettre des gosses ?
arf c’est vide.
mais la fonction recherche sert bien aussi sur les forum phpbb
:þ
perso les wiki j’aime pas trop, je prefer les fofo, mais bon, sa reste pratique quand meme.
Tu kill amsn
mais tu ne le rend pas inaccessible.
amsn
(le vrai) pour que seul un certains groupe ai le droit).set-gui
.Non mais là, le but est plus de rappeler qu’il y a des heures pour tchater, et des heures pour faire ses devoirs, que d’interdire complétement amsn
.
Ceci dit, je n’ai pas vraiment pu faire un jeu de tests (pas sûr que le killall wish
soit la commande adéquate en cas où le gamin est déjà en tchat sur plusieurs fenêtres ou onglets mais bon …).
Je sais pas si j’ai bien fait de poster ici vu que ce script concerne iptables.
crée par moi meme, rien que ça
je l’ai tester et je doit dire que sa marche bien.
il est optimisable, personalisable.
scripte N1
#!/bin/sh
#
# Il est important de comprendre ce script et de l'adapter!
# Les programes: apt-get install screen
# Le but est de fermer les port des qu'une applications est détectée grâce a netstat
# On peux egalment forcer l'ouverture d'un port ce qui devient focement un risques
# Je considère qu'une application autorisée , en prend la résponsabiliter
# Je ne gere pas le suivit de connection par application, a vous de l'ajouter
# de meme que d'autre option comme l'icpm!!
# Un répertoire temporaire (vide est conseillier)
# exemple mkdir/home/tnt/volatile
# pour le demarrer vous devez utiliser /etc/init.d/firewall
# les 2 script ce place dans /etc/init.d
# Ajuster les droits sur ce répertoire a vôtre convenance ( man chmod )
# Les erreurs sont velontairement non masquée!
# Ce script consome du CPU et de la ram d'environ 2 a 10 mb!
# vous pouvez eviter la charge en ram en
# Placean les fichiers temporaires sur le disques
# En principe dans /var/log ou dans /tmp
PATH=/usr/eth0cal/sbin:/usr/eth0cal/bin:/sbin:/bin:/usr/sbin:/usr/bin:/sbin/iptables
#Fichier temporaire pour les appelles netstats
File="/home/tnt/volatile/ipnetstat_auto"
#fichier de port fermer, ajouter ici les port dont vous voulez forcer l'ouverture des port
PortClose="/home/tnt/volatile/ipnetstatclose"
#Fichier des programes autoriser a crée par vous meme
ProgAuto="/etc/netstat_auto_iptables.conf"
#Repertoire qui ser aux montage d'un volume en ram
ddvol="/home/tnt/volatile"
#Contien le PID en cour
PID="/home/tnt/volatile/pid"
#fichier permettant facilment de savoir si un port est fermer
pathlog="/home/tnt/volatile/close.log"
# votre interface reseaux
ETH="eth1"
# augmenter ici la valeur permet aux pc peux puissant de moin ramer, evidament
# si le temps est très grand une application peux avoire le temps d'ouvrire un port!
pause="0.1"
pause2="0.1"
DAEMON="Firewall 0.2"
NAME="Firewall"
ID=$$
DESC="Firwall 0.2"
# vous pouvez desactiver le log en mettant sure OFF
LOG="ON"
# restriction sure le volume monter soiyer prudant si vous autoriser les executables
# cela represente uns faille
Restricted="0755"
set -m
case "$1" in
start)
echo "pid :" $$
if [ -e $ProgAuto ] ;then
echo "Configuration trouvée Démarrage"
else
echo "Fichier de configuration $ProgAuto non trouver. Ce fichier contien les programes autoriser par iptables!"
echo "Fin du programe"
exit
fi
echo "montage du disque virtuel"
mount -t tmpfs -o size=10m,nr_inodes=10k,mode=$Restricted tmpfs "$ddvol"
echo "$$" > "$PID"
#on veux autoriser (forcer) certin port
echo "21" >> $PortClose
echo "22" >> $PortClose
echo "25" >> $PortClose
echo "80" >> $PortClose
echo "110" >> $PortClose
echo "Configuration des règles de base"
#Mise a zero des regle (par précaution)
#
# On remet la police par défaut à ACCEPT
#
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#
# On remet les polices par défaut pour la table NAT
#
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
#
# On vide (flush) toutes les règles existantes
#
iptables -F
iptables -t nat -F
#
# Et enfin, on efface toutes les chaînes qui ne
# sont pas à defaut dans la table filter et nat
iptables -X
iptables -t nat -X
#==============================================
# on autorise tout ce qui est en local
iptables -A INPUT -i $ETH -s 192.168.1.0/24 -j ACCEPT
#loopack
iptables -A INPUT -i lo -j ACCEPT
#iptables -t filter -A INPUT -i $ETH -m limit --limit 24/h --limit-burst 1 -p all -j ULOG --ulog-prefix="USER INPUT Final"
#==============================================
#==============================================
#le loopack
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -o $ETH -d 192.168.1.0/24 -j ACCEPT
#iptables -t filter -A OUTPUT -o $ETH -m limit --limit 24/h --limit-burst 1 -p all -j ULOG --ulog-prefix="USER OUTPUT Final"
#===============================================
while true
do
netstat -laputen > $File
while read line
do
#echo $line|cut -d: -f2 | cut -b1-6
n1=`echo $line | cut -d: -f2 | cut -b1-1`
n2=`echo $line | cut -d: -f2 | cut -b2-2`
n3=`echo $line | cut -d: -f2 | cut -b3-3`
n4=`echo $line | cut -d: -f2 | cut -b4-4`
n5=`echo $line | cut -d: -f2 | cut -b5-5`
n6=`echo $line | cut -d: -f2 | cut -b6-6`
step=""
if [ -n "$n1" ] ;then
num=$((`expr match "$n1" '[[:digit:]]'`))
if [ $num -eq 1 ] ;then
step=$step$n1
num=$((`expr match "$n2" '[[:digit:]]'`))
if [ $num -eq 1 ] ;then
step=$step$n2
num=$((`expr match "$n3" '[[:digit:]]'`))
if [ $num -eq 1 ] ;then
step=$step$n3
num=$((`expr match "$n4" '[[:digit:]]'`))
if [ $num -eq 1 ] ;then
step=$step$n4
num=$((`expr match "$n5" '[[:digit:]]'`))
if [ $num -eq 1 ] ;then
step=$step$n5
num=$((`expr match "$n6" '[[:digit:]]'`))
if [ $num -eq 1 ] ;then
step=$step$n6
fi
fi
fi
fi
fi
soft=""
nobakslach=""
Prog=""
soft=`echo $line | cut -d/ -f2`
nobakslach=`echo $line | grep /`
Prog=`grep "$soft" $ProgAuto`
# -z = longueur nulle et -n de longueur non nulle
if [ ! -n "$Prog" ] ;then
# echo "le programe autoriser $Prog a le port $step"
# else
StepPort=""
StepPort=`grep -w "$step" $PortClose`
if [ ! -n "$StepPort" ] ;then
if [ -n "$nobakslach" ] ;then
echo "le programe $soft est interdi le port N° $step va etre fermer!"
iptables -A OUTPUT -o $ETH -p tcp --dport $step -j DROP
iptables -A OUTPUT -o $ETH -p tcp --sport $step -j DROP
iptables -A INPUT -i $ETH -p tcp --dport $step -j DROP
iptables -A INPUT -i $ETH -p tcp --sport $step -j DROP
iptables -A OUTPUT -o $ETH -p udp --dport $step -j DROP
iptables -A OUTPUT -o $ETH -p udp --sport $step -j DROP
iptables -A INPUT -i $ETH -p udp --dport $step -j DROP
iptables -A INPUT -i $ETH -p udp --sport $step -j DROP
echo $step >> $PortClose
if [ "$LOG" = "ON" ] ;then
echo "$soft >=======> $step" >> $pathlog
fi
fi
fi
fi
fi
fi
sleep $pause2
done < $File
sleep $pause
done
;;
stop)
PID="/home/tnt/volatile/pid"
ddvol="/home/tnt/volatile"
kill -n 9 $(cat $PID) 2>/dev/null
echo "Demontage du volume"
sleep 2
umount -t tmpfs "$ddvol"
echo "Demontage terminer"
echo "Mise a zero des regles d'iptables"
#
# On remet la police par défaut à ACCEPT
#
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
#
# On remet les polices par défaut pour la table NAT
#
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
#
# On vide (flush) toutes les règles existantes
#
iptables -F
iptables -t nat -F
#
# Et enfin, on efface toutes les chaînes qui ne
# sont pas à defaut dans la table filter et nat
iptables -X
iptables -t nat -X
echo "$DAEMON est terminer"
;;
*)
N=/etc/init.d/$NAME
echo "Ne pas utiliser /etc/init.d/iptable_auto {start} OR news {start}=stop " $DAEMON >&2
echo "Usage /etc/init.d/firewall stop && (OR) /etc/init.d/firewall start"
exit 1
;;
esac
exit 0
scripte N2
#!/bin/sh
case "$1" in
start)
echo "démarrage du par feux"
screen -dm /etc/init.d/iptable_auto start
;;
stop)
/etc/init.d/iptable_auto stop
;;
*)
N=/etc/init.d/$NAME
echo "Usage: /etc/init.d/firewall {start ¦ stop}" $DAEMON >&2
exit 1
;;
esac
exit 0
si vous avez des idée ou si vous trouver des bug n’hésiter pas
heu svp pas de critique sure mon français
sa intéresse personne ou c’est vraiment un bricolage du dimanche mon histoire ?
Je ne maitrise pas bien netfilter, mais je me pose juste la question sur ces trois commandes :
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
Tu laisse tout passer par défaut?
oui puisque dès qu’une application est détectée le port est fermer droit derrière, donc l’application peut passer un court moment, mai c’est presque instantanée sauf si tu augmentes les valeur [pause], qui soulage le cpu et donc sa mai plus de temps pour scanner.
il est pas rare, a ce que j’ai pus constater que le port le plus fréquemment utiliser est celui du port 80
par pas mal d’application.
Ce port est casi toujours ouver,
Avec le script si tu forces pas ce port a être ouvert, si une application est pas permise sa lui cloue le bec meme sure le port 80 du coup aux moment ou tu veux surfer actualise une page ben hop sa passe plus.
il suffi d’aller voire le log on prend les mesures si il faut, ensuite un stop start et hop sa roule
voila ce que j’ai permis chez moi pour le moment.
weechat-curse
firefox-bin
ntop
evolution
http
ssh
wish
underware
poker-interfac
Attention http est utiliser par pas mal de soft genre amsn !
l’idéal sa serai de compléter firestarter pour qu’il le fasse mai je sai pas si sa serai plus performant.
ben fait un essai avec
Alors…
Sincèrement ?
C’est une belle usine à gaz (oulala que de code superflu) programmée comme un cochon (des boucles while true !) et totalement inutile (ça sent le nid à faille à plein nez, et va t’en filtrer ce qui se lance par inetd ou qui tourne sous wine par exemple).
MAIS
La méthode de récupèration de l’appli du port est super interessante et peut être utile ailleurs.
L’utilisation du screen est ingènieuse, même si il existe des moyens beaucoup plus fiables de démoniser.
Moralité: C’est du vrai beau boulot d’apprentissage et de prise en main des objets du systême et du shell, mais maintenant, il faut AMA de la vraie formation pour faire des choses propres et partageables avec d’autres.
Ah, à propos des autres, j’ai cru remarquer que tu avais fait des efforts sur la structuration de tes phrases pour qu’elles ressemblent à des phrases françaises, avec des virgules en bonus, je te remercie, et ça serait super reposant si on arrivait aussi à une forme des mots qui ressemble à des mots francais, de manière à comprendre plus de 50% de ce que tu dis.
Pareil: ça devrait venir avec l’entrainement.
Voili Voilou.
Bonsoir,
Je vois un peu d’iptables par là et vu le titre du trhread, je me suis dit que c’était l’endroit pour vous faire partager mon script de firewall.
Etant donné qu’il y a plusieurs fichiers, une archive est plus facile :
http://smhteam.info/upload_wiki/scripts/thfw-0.1.0.tar.gz
La machine sur laquelle tourne ce script est derrière un routeur et partage différentes ressources à un réseau privé.
Normalement, il est pourvu de commentaires
Si vous voyez des améliorations à faire, n’hésitez pas à m’en faire part. Pour les bugs aussi !
Merci pour la critique constructive
Il est vrai que je débute sous linux
Pour ce qui est de la boucle true c’est vrai que c’est pas très propre mai j’ai pas trouver comment faire autrement.
Pour ce qui est de wine, virtualbox, inetd. Il faut déjà que ceux ci soie autoriser a sortir. Si ceci est permis, je considère que c’est une boite de pandore et on peux y faire tout ce qu’on veux. Et filtrer le contenu d’une application en interne c’est plutôt le rôle d’un anti-virus.
thialme
Intéressant ces scripts, je regarderai en détail quand j’aurai plus de temps
bon voila un petit bout de script pour stopper une application qui fait trop chauffer le cpu ! je men ser sur mon portable.
#!/bin/sh
if test `sensors |grep °C |cut -b 15-16` -ge 70 ;then
killall -u boinc -s STOP
sleep 350
killall -u boinc -s CONT
fi
exit 0
Evidemment il s’agis du paquet libsensors3 et lm-sensors