Droits sur répertoire + fichier

drjonesx

Membre confirmé
14 Juillet 2012
13
0
53
Bonjour,
je n'arrive pas a faire tourner ce bout de code parfaitement
Chez moi ça marche car j'ai tout les droits admin sur la machine

Lorsque j'ai tous les droits ca marche
1. le rep TEMP est crée et 2. les pdf sont transférés la bas.

par contre quand je n'ai pas tous les droits, seul le repertoire TEMP est cree mais le transfert des fichiers ne ce fait pas.

Voici le bout de code que j'ai ecrit
Bloc de code:
#!/bin/sh

mkdir -p "/Applications/Easy/TEMP/"
mv "/Applications/Easy/"*".PDF" "/Applications/Easy/TEMP/"

exit 0
Est ce que quelqu'un peux m aider à corriger ce petit probleme?
sans doute super simple mais je ne vois pas comment m y prendre

D'avance merci pour le ptit coups de pouce ;)
 
Salut,

J'imagine que c'est au boulot que cela ne fonctionne pas, je me trompe peut-être ?

Si c'est un pb de droit, je ne toucherais pas au script mais plutôt aux droits attribués aux utilisateurs ou mieux à un groupe d'utilisateurs.
 
Quelque chose genre:

Bloc de code:
#!/bin/sh  

# récupération du chemin courant
courant=`pwd`

# positionnement
cd /Applications/Easy/

# création du répertoire si n'existe pas
mkdir TEMP 2> /dev/null

# parcours des PDF ou pdf
for i in `ls *.[pP][dD][fF]`
do
    # copie puis suppression si réussie
    cp "$i" TEMP/ && rm "$i"
done

# repositionnement
cd "$courant"

exit 0

Maintenant si le user que tu utilises n'a pas les droits de lecture (pour la copie) ou d'écriture (pour la suppression), tu ne peux rien y faire.
 
C'est sans doute la partie suppression qui n'est pas possible.
Il faut donner les bons droits au dossier /Applications/Easy, genre 777.
 
Ok
donc existe t il un moyen de faire un script qui me met en "admin" pour faire le mkdir et ensuite le mv ou cp?
et repasse apres en user normal?
Merci
 
bah justement...

J'arrive pas
soit je l ecrit pas bien soit y a un truc qui marche pas
Peux tu me donner un exemple ? que je puisse teste?
PS et quid quand il y a un mot de passe?
 
Normal, tu dois aller jouer avec visudo.

en ajoutant un truc comme ça :

Cmnd_Alias MV=/bin/mv
tonUtilisateur ALL=NOPASSWD:MV

Pas certain que les lignes ci dessus soient "ok", je testerais + tard ...
 
Ne pourrions nous pas utiliser alors le code comme ca?

#!/bin/sh
chown -R $USER
mkdir -p "/Applications/Easy/TEMP/"
mv "/Applications/Easy/"*".PDF" "/Applications/Easy/TEMP/"

exit 0
 
Ben déjà pour changer le propriétaire, il faudrait que tu le sois (dans ce cas pas de pb de droits) ou que tu sois root (pas de pb non plus)...
(Et puis, tout dépend de ce que tu veux, mais altérer les droits ou le propriétaire via le script c'est moyen...)

Teste ce que tu écris.


S'il y a des droits, c'est qu'ils servent à quelque chose. Si le user que tu utilise n'est pas autorisé, c'est qu'il y a une raison. Après tu peux lancer ton script avec un sudo comme indiqué.
 
Au passage : ce script est-il destiné à être passé régulièrement ?
Dans ce cas, c'est que des fichiers PDF sont produits dans le dossier indiqué. Je pense qu'il serait préférable qu'ils soient créés ailleurs, dans la mesure où /Applications n'est pas fait pour mettre des données.

Ce qui permettrait alors d'éviter de se poser des questions quant au compte à utiliser, sudo etc.
 
@ Bompi
En fait j'ai une petite app que j'installe par le biais d'un installateur (iceberg) dans applications/Mon soft/
Etant nouveau sur Mac je pensait que tout ce placait la bas lorsqu'il s'agit d'une application.
Et effectivement ce n'est pas régulier sauf lorsque je fais une mise a jour.
Mon idée c'est de déplacer les fichiers dans un répertoire TEMP, installer les nouveau fichier avec l'update et ensuite de ramener tout dans le répertoire initial
Voila toute l histoire :-)
Donc je voudrais utiliser un script pour tout automatiser Seulement le prob c'est que ça ne marche que chez moi car j'ai tous les droits des que j'essai de l'installer sur un autre mac du coups ça ne marche plus :-(

Voila si une âme charitable pourrait m'aider a créer ce script j'en serai très heureux
D'avance merci pour votre aide
 
Il devrait suffire de passer par un installateur demandant de s'authentifier comme administrateur. Ensuite, tous les scripts du monde pourront s'exécuter ;)