OVH Cloud OVH Cloud

script shell

19 réponses
Avatar
adresse_non_valide
Bonsoir,

j'aimerai automatiser l'effacement de mes fichiers log. Pour ça j'ai
écrit le script shell suivant :

sudo cp /dev/null /chemin/fichier1.log
sudo cp /dev/null /chemin/fichier2.log
sudo cp /dev/null /chemin/fichier3.log
exit0

le script me demande bien le mot de passe pour rentrer en root mais le
probleme c'est que ça ne fonctionne pas : les fichiers ne sont pas
effacés. Ma question : comment faire pour faire executer au system
plusieurs instructions en tant que root ?
Merci pour vos contributions.

9 réponses

1 2
Avatar
Eric Levenez
Le 6/11/05 9:59, dans
, « Patrick
Stadelmann » a écrit :

Ou alors utiliser le bit "suid" sur le shell
script pour qu'il s'exécute en root.


Si cela marche, c'est un trou se sécurité. Tous les unix actuels interdisent
le bit s sur des scripts.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Patrick Stadelmann
In article <BF93946D.4A304%,
Eric Levenez wrote:

Le 6/11/05 9:59, dans
, « Patrick
Stadelmann » a écrit :

Ou alors utiliser le bit "suid" sur le shell
script pour qu'il s'exécute en root.


Si cela marche, c'est un trou se sécurité. Tous les unix actuels interdisent
le bit s sur des scripts.


Bon, alors convertir le script en exécutable.

Patrick
--
Patrick Stadelmann


Avatar
Patrick Stadelmann
In article <1h5lo3g.1toqtsd18v9407N%,
(Barbabule) wrote:

et l'on fait comment pour faire ça ? (récupérer le bit 'suid').


"man chmod" mais comme le précise Eric, ça ne marche que sur les
exécutables.

Patrick
--
Patrick Stadelmann

Avatar
g.durr
Une bévue wrote:

kurtz le pirate wrote:

utilises <rm>. et si tes fichiers sont nommés comme l'exemple, un seule
ligne est suffisante : <rm /chemin/fichier*>


j'ajouterais que, pour éviter d'avoir à entrer le pwd, il suffit de
faire :

echo <ton-pwd> | sudo rm -f /path/to/le/fichier-a-deruire
il manque pas un "-S" ici ?


l'inconvénient étant que dans ce cas, le pwd est en clair dans un
fichier *.command



--
Guillaume DURR


Avatar
pere.noel
Guillaume Durr wrote:

echo <ton-pwd> | sudo rm -f /path/to/le/fichier-a-deruire
il manque pas un "-S" ici ?



où, exactement le -S ?
nb : j'ai testé en cli

bon, en *.command, le script ne s'exécute pas, mon script
"essai.command" :

#!/opt/local/bin/zsh

echo mon_PWD | sudo rm -f /Users/yvon/Desktop/toto.txt


ses perms :

-rwxr-xr-x 1 yvon wheel 57 Nov 6 09:36 essai.command

quand je fais un pom+i dessus j'ai bien ouvrir avec Termianl.app

je n'ai qu'un autre script en *.command, qui marche, lui, je ne vois pas
la différence...

car quand je double clicke sur son icône c'est SubEthaEdit qui s'ouvre
(l'éditeur de texte)


si je fais :
[m~/Desktop> ./essai.command

ca me demande le pwd ??? et s'exécute normalement...

--
une bévue


Avatar
adresse_non_valide
Une bévue wrote:

bon, en *.command, le script ne s'exécute pas, mon script
"essai.command" :


tu as bien fait un chmod 755 dessus avant de tanter de l'executer ?

Avatar
pere.noel
Barbabule wrote:

tu as bien fait un chmod 755 dessus avant de tanter de l'executer ?


j'avais utilisé un chmod a+x dessus...
c'est équivalent les perms :
-rwxr-xr-x 1 yvon wheel 77 Nov 6 12:03 essai.command

soit x dans tous les cas...
--
une bévue

Avatar
Patrick Stadelmann
In article <1h5lt3k.1gu2ob11gc3fg2N%,
(Une bévue) wrote:

car quand je double clicke sur son icône c'est SubEthaEdit qui s'ouvre
(l'éditeur de texte)


Essaye de vider les champs type / créateur (avec SetFile par exemple).

Patrick
--
Patrick Stadelmann

Avatar
pere.noel
Patrick Stadelmann wrote:

Essaye de vider les champs type / créateur (avec SetFile par exemple).


ok, merci, il suffit de vider le champ type.

%AIS, mon "script" me demande quand même le password, après s'être lancé
correctement dans le terminal.

le "script" pour essai :

echo mon_PWD | sudo rm -f /Users/yvon/Desktop/toto.txt
--
une bévue

1 2