Script bash: Permission non accordée !? - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 03-01-2009 à 15:07:33
tu as les droits de lecture sur /var/log/freeradius/radius.log ?
et sinon, cat xxx|grep yyy se remplace par grep yyy xxx
Marsh Posté le 03-01-2009 à 15:11:00
Vérifies d'abord qu'il existe avant de vouloir l'utiliser.
Marsh Posté le 03-01-2009 à 15:57:23
Fork Bomb a écrit : Vérifies d'abord qu'il existe avant de vouloir l'utiliser. |
C'est d'abord un problème de droits d'accès (soit sur l'un des répertoires, soit sur le fichier final (voir répertoire + fichier)
[ augure@bacchus ~ ] |
Marsh Posté le 03-01-2009 à 16:27:49
J'exécute le script en tant que root, et ce qui est bizarre c'est que la première commande passe (premier cat) mais le deuxième (ligne 14) non, pourtant quasiment la même commande. Le plus curieux, c'est que la fichier final (macfraud.txt) contient une adresse MAC, une seule alors qu'il devrait y en avoir plusieurs.
Marsh Posté le 03-01-2009 à 16:41:41
NBCHGMT=`echo `cat /var/log/freeradius/radius.log | grep "${ADRMAC[$n]}" | cut -f2 -d]| uniq | wc -l``
pas besoin d'un echo ...
NBCHGMT=`cat /var/log/freeradius/radius.log | grep "${ADRMAC[$n]}" | cut -f2 -d]| uniq | wc -l`
Marsh Posté le 03-01-2009 à 16:44:47
Non car si je fais cette modif j'ai une série d'erreur comme celà:
Code :
|
Marsh Posté le 03-01-2009 à 16:56:45
Je rejoins fighting_falcon pour les ` . Si tu veux réellement les imbriquer pense à les échapper par un \ (echapper ceux qui sont imbriqué). Je pense que ton erreur de droit vient de là. Ton script essaye au final d'exécuter le fichier (d'où le problème de droit car il n'est pas en exécution).
Pour l'erreur suivante, cf. le man je dirais, >= n'est pas à utiliser. Remplace le par le bon opérateur cf. le man de bash :
Citation :
|
Utilise la forme :
Code :
|
Marsh Posté le 03-01-2009 à 17:14:41
Le problème venait de là ! Merci les gars vous êtes les meilleurs ;-)
Marsh Posté le 04-01-2009 à 14:03:00
fighting_falcon a écrit : NBCHGMT=`echo `cat /var/log/freeradius/radius.log | grep "${ADRMAC[$n]}" | cut -f2 -d]| uniq | wc -l`` |
Pas besoin de cat non plus...
Citation : NBCHGMT=$(grep "${ADRMAC[$n]}" < /var/log/freeradius/radius.log | cut -f2 -d]| uniq | wc -l) |
Et les "`" sont obsolètes.
Marsh Posté le 04-01-2009 à 14:38:49
bah dans ce cas, pas besoin de redirection non plus ...
Citation : |
Marsh Posté le 03-01-2009 à 13:55:44
Bonjour à tous !
J'essaye de développer un script (sans trop me prendre la tête) qui analyse les authentifications qui se trouvent dans radius.log. La ligne 14 me donne l'erreur ci-dessous et je ne comprends pas pourquoi !?
Voici le fonctionnement du script:
1) Extraction des adresses MAC en enlevant les doublons (même adresse MAC sur même port de switch)
2) Comptage des adresses MAC identifiées en double sur des ports/switches différents
3) Stockage des adresses qui ont eu 15 identifications sur des ports/switches différents
Merci d'avance !
RedVivi
EDIT:Dernière version du script, toujours le même problème
Message édité par redvivi le 03-01-2009 à 16:37:17