applescript sur fichiers root

MrSoul

Membre actif
28 Décembre 2007
102
4
42
Monpazier
mrsoul.org
Bonjour,

Je viens tout juste de tenter d'écrire mon premier AppleScript qui aurait pour but de rajouter des lignes en toute fin du fichier hosts.

Bloc de code:
set fileHosts to "/etc/hosts"
set hostToAdd to "#mes hosts à rajouter"

open for access fileHosts with write permission
write hostToAdd to fileHosts
write hostToAdd to fileHosts starting at eof
close access fileHosts

Quand je le fais sur un fichier test qui appartient à mon compte, pas de soucis, mais quand je le fais sur le véritable fichier hosts, j'ai le message d'erreur suivant : "Erreur d'autorisation de fichier réseau.". Le "réseau" me parait bizarre, mais suppute que c'est un problème d'autorisation.

Y a t'il moyen qu'il me demande le mot de passe administrateur pour pouvoir sauvegarder ce fichier ? Et si c'est possible, comment s'y prendre ?

Merci d'avance.
 
J'ai déjà essayé, mais il semblerait que ça ne fonctionne qu'avec les scripts shell.


Bloc de code:
	open for access fileHosts with write permission and administrator privileges
ou
Bloc de code:
	open for access fileHosts with administrator privileges

donne le message d'erreur suivant :

Erreur de syntaxe
"given", "with", "Without", autre nom de paramètre, etc. prévu mais identificateur trouvé.
Et comme résultat :
error "Erreur d’autorisation de fichier réseau." number -5000 from file "Macintosh HD:private:etc:hosts"
 
Dernière édition:
Je me répond, on sait jamais que ça puisse servir à quelqu'un.

Donc en AppleScript natif, on ne peut pas, il faut passer par un script shell.


Bloc de code:
set hostToAdd to "echo '

#my hosts

' >>"
set fileHosts to "/etc/hosts"

do shell script hostToAdd & fileHosts with administrator privileges