Problème droits root et divers
Résolu/Fermé
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
-
Modifié le 1 janv. 2019 à 12:18
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 1 janv. 2019 à 21:24
barnabe0057 Messages postés 14454 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 30 novembre 2024 - 1 janv. 2019 à 21:24
A voir également:
- Problème droits root et divers
- Kingo root - Télécharger - Divers Utilitaires
- Google images gratuites et libres de droits - Guide
- Vous devez disposer des droits d'administrateur pour supprimer ce dossier - Guide
- Supprimer application préinstallée android sans root - Guide
- Accès refusé : obtenir les droits d'accès à un dossier dans Windows - Guide
4 réponses
cs_PaTaTe
Messages postés
2126
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
19 février 2021
496
1 janv. 2019 à 12:51
1 janv. 2019 à 12:51
root a accès à /var/www ?
Sinon ajoute root au group www-data
Sinon ajoute root au group www-data
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
1 janv. 2019 à 13:52
1 janv. 2019 à 13:52
Salut,
Moi ce qui me gène dans le résultat de ton
Ton fichier est exécuté 2 fois (
La 2nd fois c'est le shell bash qui l'exécute (comme dans le shebang (
La 1ère fois c'est le shell sh qui l'exécute, faisant fi du shebang et comme
À vérifier…
Moi ce qui me gène dans le résultat de ton
ps aux | grep "ufw"c'est
/bin/sh -c /root/ufw_conf.sh;-\
Ton fichier est exécuté 2 fois (
/bin/bash /root/ufw_conf.sh) ;-\
La 2nd fois c'est le shell bash qui l'exécute (comme dans le shebang (
#! /bin/bash) de ton script).
La 1ère fois c'est le shell sh qui l'exécute, faisant fi du shebang et comme
/bin/shest un lien symbolique vers
/bin/dash, peut-être y-a-t-il des erreurs de syntaxe ;-(
À vérifier…
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
Modifié le 1 janv. 2019 à 14:00
Modifié le 1 janv. 2019 à 14:00
Salut, je comprend le problème mais comment corriger cela ?
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
1 janv. 2019 à 14:07
1 janv. 2019 à 14:07
J'y pense… crontab n'a pas d'environnement, donc, essaie soit de charger l'environnement root en début de script (sourcer le.bashrc de root (
source /root/.bashrc)), soit de donner le chemin absolu de toutes tes commandes dans ton script.
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
1 janv. 2019 à 14:54
1 janv. 2019 à 14:54
source /root/.bashrc n' a rien donné de plus, par contre j'ai mis les chemins absolus de chaque commande de mon script et on dirait que ça fonctionne, merci beaucoup.
Je continue les tests ...
Je continue les tests ...
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
1 janv. 2019 à 15:10
1 janv. 2019 à 15:10
Tout a l'air ok, je passe le sujet en "résolu".
Merci à tous pour votre aide.
A bientôt.
Merci à tous pour votre aide.
A bientôt.
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
1 janv. 2019 à 14:48
1 janv. 2019 à 14:48
hello
pour récupérer les messages et erreurs du cron, ajouter à la ligne dans crontab
avec les droits root (permission spéciale u+s) le script démarre mais ne fonctionne pas.
beaucoup de systèmes empêchent les scripts suid root pour des questions de sécurité, essayer
pour récupérer les messages et erreurs du cron, ajouter à la ligne dans crontab
.... > /tmp/log 2>&1
avec les droits root (permission spéciale u+s) le script démarre mais ne fonctionne pas.
beaucoup de systèmes empêchent les scripts suid root pour des questions de sécurité, essayer
sudo ufw_conf.sh
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
1 janv. 2019 à 14:56
1 janv. 2019 à 14:56
Slt, dommage Setuid est plus pratique que sudo, pas besoin de rentrer de mot de passe.
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
Modifié le 1 janv. 2019 à 15:00
Modifié le 1 janv. 2019 à 15:00
J'ai rajouté > /tmp/log 2>&1 à ma tâche cron, merci pour l'astuce.
lEprofSonDkon
Messages postés
211
Date d'inscription
jeudi 13 décembre 2018
Statut
Membre
Dernière intervention
8 octobre 2022
13
1 janv. 2019 à 17:50
1 janv. 2019 à 17:50
salut,
je vais le dire crûment, sans vouloir te blesser, ton script est merdique.
pourquoi la variable COUNTER (qui devrait être écrite en minuscule : par convention seules les variables d'environnement doivent être tout en majuscules) n'est-elle en aucun cas incrémentée ?
pourquoi utiliser
pourquoi
pourquoi
je vais le dire crûment, sans vouloir te blesser, ton script est merdique.
pourquoi la variable COUNTER (qui devrait être écrite en minuscule : par convention seules les variables d'environnement doivent être tout en majuscules) n'est-elle en aucun cas incrémentée ?
pourquoi utiliser
cat, alors que
grepsait lire des fichiers ?
pourquoi
readlit-il un fichier (
$1) qui n'est pas donné en argument au script ?
pourquoi
truncateplutôt que
rm, ou un simple écrasement par redirection ?
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
1 janv. 2019 à 20:34
1 janv. 2019 à 20:34
Slt je suis d'accord avec toi, il y a des points à améliorer :
pourquoi la variable COUNTER n'est-elle en aucun cas incrémentée ?
==>> j'ai besoin d'une boucle permanente et d'après mes rapides recherches il n'y a pas GOTO en bash donc je me suis rabattu sur la boucle WHILE, avec une variable fixe
pourquoi utiliser cat, alors que grep sait lire des fichiers ?
==>> comme expliqué dans le titre, j'avais quelques problèmes avec l'exécution du script et je n'ai pas voulu foutre encore plus le bordel en modifiant ce qui marchait bien, j'ai préféré garder la commande qui fonctionnait le mieux à ce moment là
pourquoi read lit-il un fichier ($1) qui n'est pas donné en argument au script ?
==>> erreur de retranscription de ma part, ce n'est pas $1 mais bien la variable $fichier
pourquoi truncate plutôt que rm ou un simple écrasement par redirection ?
==>> je ne souhaite pas supprimer le fichier sinon il faut le recréer avec les bonnes permissions, un simple écrasement par redirection me convient très bien, je sais faire en MS-DOS mais pas en bash :(
Maintenant que j'ai réglé les problèmes d'exécution, je peux me focaliser sur l'optimisation du script, je veux bien ton aide pour améliorer certains points.
pourquoi la variable COUNTER n'est-elle en aucun cas incrémentée ?
==>> j'ai besoin d'une boucle permanente et d'après mes rapides recherches il n'y a pas GOTO en bash donc je me suis rabattu sur la boucle WHILE, avec une variable fixe
pourquoi utiliser cat, alors que grep sait lire des fichiers ?
==>> comme expliqué dans le titre, j'avais quelques problèmes avec l'exécution du script et je n'ai pas voulu foutre encore plus le bordel en modifiant ce qui marchait bien, j'ai préféré garder la commande qui fonctionnait le mieux à ce moment là
pourquoi read lit-il un fichier ($1) qui n'est pas donné en argument au script ?
==>> erreur de retranscription de ma part, ce n'est pas $1 mais bien la variable $fichier
pourquoi truncate plutôt que rm ou un simple écrasement par redirection ?
==>> je ne souhaite pas supprimer le fichier sinon il faut le recréer avec les bonnes permissions, un simple écrasement par redirection me convient très bien, je sais faire en MS-DOS mais pas en bash :(
Maintenant que j'ai réglé les problèmes d'exécution, je peux me focaliser sur l'optimisation du script, je veux bien ton aide pour améliorer certains points.
lEprofSonDkon
Messages postés
211
Date d'inscription
jeudi 13 décembre 2018
Statut
Membre
Dernière intervention
8 octobre 2022
13
>
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
Modifié le 1 janv. 2019 à 20:45
Modifié le 1 janv. 2019 à 20:45
1- une boucle infinie s'écrit
n'existe-t-il vraiment pas une condition qui doit faire quitter le script.
pourquoi n'est-il pas plutôt inscrit dans une crontab ? sans boucle infinie, donc.
même un petit script qui s'exécute en permanence finit par consommer beaucoup de ressources.
2- c'est un UUOC.
3- ok
4-
while true; do...; done
n'existe-t-il vraiment pas une condition qui doit faire quitter le script.
pourquoi n'est-il pas plutôt inscrit dans une crontab ? sans boucle infinie, donc.
même un petit script qui s'exécute en permanence finit par consommer beaucoup de ressources.
2- c'est un UUOC.
3- ok
4-
>fichier_à_écraser, c'est aussi simple que ça.
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
1 janv. 2019 à 20:57
1 janv. 2019 à 20:57
1- non il n'y a aucune condition qui doit faire quitter le script, le script est lancé au démarrage via une crontab.
2- je m'en doutais, d'ailleurs c'est déjà corrigé ;)
4- excellent, même pas besoin d'un petit echo devant la redirection ?
2- je m'en doutais, d'ailleurs c'est déjà corrigé ;)
4- excellent, même pas besoin d'un petit echo devant la redirection ?
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
1 janv. 2019 à 21:01
1 janv. 2019 à 21:01
Voilà la version actuelle :
Si tu vois d'autres choses, fais-moi signe.
#! /bin/sh fichier=/var/www/parefeu/ip_address.txt # on crée une boucle infinie while true; do # on ralentit la boucle /bin/sleep 1 # on vérifie si le fichier est vide ou pas # /usr/bin/test -s $fichier || continue /bin/grep ":" || continue # on lit les infos dans le fichier texte IFS=':' read -r adresse port <$fichier # on crée une nouvelle règle /usr/sbin/ufw allow in proto tcp from $adresse to any port $port # on réinitialise le fichier texte >$fichier # on recharge le pare-feu /usr/sbin/ufw reload done
Si tu vois d'autres choses, fais-moi signe.
lEprofSonDkon
Messages postés
211
Date d'inscription
jeudi 13 décembre 2018
Statut
Membre
Dernière intervention
8 octobre 2022
13
>
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
1 janv. 2019 à 21:14
1 janv. 2019 à 21:14
#!/bin/sh fichier=/var/www/parefeu/ip_address.txt while true do if test -s "$fichier" then IFS=':' read -r adresse port <"$fichier" /usr/sbin/ufw allow in proto tcp from "$adresse" to any port "$port" >"$fichier" /usr/sbin/ufw reload fi sleep 1 done
1 janv. 2019 à 13:29
1 janv. 2019 à 13:35
1 janv. 2019 à 13:58
1 janv. 2019 à 14:27