Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 09/03/2008, à 00:01

libre

Accès aux Nautilus-scripts à tout les utilisateurs

Comment rendre un nautilus-script accessible à tout les utilisateurs et ce, facilement, c'est à dire sans le copier dans le dossier ~/.gnome2/nautilus-scripts/ de chaque utilisateurs.


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#2 Le 09/03/2008, à 00:50

diodio13fr

Re : Accès aux Nautilus-scripts à tout les utilisateurs

je pense qu'avec les groupes ca devrait etre bon:
tu crée un groupe "nautilus_script" tu met tous les utilisateurs pouvant acceder aux script comme membres de ce groupe et toi aussi. puis pour chaque script dans les permissions tu met le groupe "nautilus_script" avec un accès en lecture seule pour le groupe.


█▒▒▒░░

Hors ligne

#3 Le 09/03/2008, à 00:53

atlante

Re : Accès aux Nautilus-scripts à tout les utilisateurs

Justement, le principe est que chaque utilisateur peut avoir ses propres scripts.
Et par conséquent, ils sont dans leur home.

Pour les rendre disponibles à tous les utilisateurs, un petit script en root avec une boucle peut copier les scripts rapidement chez tout le monde.

LISTUSERS=$(find /home -maxdepth 1 -type d|grep -v "lost+found"| cut -d "/" -f3| sort|uniq)
for util in $LISTUSERS
do
cp monscript.sh /home/$util/.gnome2/nautilus-scripts/
chmod +x /home/$util/.gnome2/nautilus-scripts/monscript.sh
done

Une autre solution est de copier les scripts à l'emplacement qui va bien dans le skel. Ainsi, à chaque création de compte, les scripts sont présents dans le home des utilisateurs. Mais ça ne fonctionne QUE pour les nouveaux comptes, et pas de possibilité de mettre à jour.

Hors ligne

#4 Le 09/03/2008, à 01:29

libre

Re : Accès aux Nautilus-scripts à tout les utilisateurs

Merci pour vos réponses,

Je pensais qu'il existait un répertoire nautilus-scripts en communs.
Apparemment ce n'est pas le cas.

diodio13ff

Ta solution me semble pas mal mais si je comprend bien il faut que je crée un lien dans le répertoire nautilus-scripts de chaque utilisateurs vers mes scripts. Ce qui ne facilite pas ma gestion actuel vu le nombre d'utilisateurs actuels.

atlante

Je suis surpris, n'imaginant même pas cette solution, c'est génial. S'il n'existe pas de répertoire commun, c'est la solution que je vais essayer.


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#5 Le 09/03/2008, à 01:37

libre

Re : Accès aux Nautilus-scripts à tout les utilisateurs

J'ai essayé atlante, ca marche super.
Pourrais-tu m'expliquer, me d'écrire ta ligne find

LISTUSERS=$(find /home -maxdepth 1 -type d|grep -v "lost+found"| cut -d "/" -f3| sort|uniq)

Cette méthode fonctionne-t'elle aussi pour créer des lanceurs ?


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#6 Le 09/03/2008, à 07:32

Laurent82

Re : Accès aux Nautilus-scripts à tout les utilisateurs

Il serait peut-être mieux de faire un lien symbolique, comme ça le moindre changement serait pris en compte partout automatiquement.

La solution de atlante me semble inutilement compliquée, cela ne serait-il pas plus simple d'utiliser directement l'astérisque :
cp monscript.sh -t /home/*/.gnome2/nautilus-scripts/

#7 Le 09/03/2008, à 12:43

libre

Re : Accès aux Nautilus-scripts à tout les utilisateurs

Laurent82, j'ai essayé

cp monscript.sh -t /home/*/.gnome2/nautilus-scripts/

et

sudo cp monscript.sh -t /home/*/.gnome2/nautilus-scripts/

sans succès, la copie se fait bien sur l'utilisateur actif mais pas sur les autres.

Comment ferais-tu un lien symbolique dans chaque répertoire nautilus-scripts de chaque utilisateur, et cela automatiquement    ?


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#8 Le 09/03/2008, à 13:04

libre

Re : Accès aux Nautilus-scripts à tout les utilisateurs

J'ai trouvé pour créer le lien symbolique vers mon script.sh

ln -s /usr/gestion_serveur/scripts.sh ~/.gnome2/nautilus-scripts

effectivement, pour les mises à jours c'est le top.

Puis j'ai essayé suivant la méthode de Laurent85 de créer ce lien dans le répertoire nautilus-scripts de chaque utilisateur

sudo ln -s /usr/gestion_serveur/scripts.sh /home/*/.gnome2/nautilus-scripts

cela ne fonctionne pas, seul l'utilisateur actif reçois le lien.


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#9 Le 09/03/2008, à 13:11

atlante

Re : Accès aux Nautilus-scripts à tout les utilisateurs

Laurent82 a écrit :

Il serait peut-être mieux de faire un lien symbolique, comme ça le moindre changement serait pris en compte partout automatiquement.

La solution de atlante me semble inutilement compliquée, cela ne serait-il pas plus simple d'utiliser directement l'astérisque :
cp monscript.sh -t /home/*/.gnome2/nautilus-scripts/

Le lien symbolique: oui, ça marche. Sauf que dans beaucoup de scripts en copié/collé depuis l'internet, ça pose des problèmes d'emplacement.
En plus, ça ne me plait pas de sortir de l'espace utilisateur un programme additionnel lancé par l'utilisateur. Pour peu qu'il arrive à le modifier, c'est tous les utilisateurs du système qui se trouvent en danger. Evitons de recréer des problèmes de contamination "à la windows".

L'utilisation des jokers ne me plait pas beaucoup plus. Si le home est sur une partition dédiée, le dossier "lost+found" va générer une erreur. S'il y a des dossiers de stockage sur le home (parce que c'est la partition sauvegardée), il y aura aussi des erreurs. S'il y a un lien sur /home qui pointe je ne sais où, non seulement je risque une erreur, mais je risque la santé, la stabilité et la sécurité de mon serveur.


LISTUSERS=$(find /home -maxdepth 1 -type d|grep -v "lost+found"| cut -d "/" -f3| sort|uniq)

find /home # trouve moi sur /home
-maxdepth 1 # mais au premier niveau seulement (pas récursif)
-type d  # les fichiers de type "d" (donc, les dossiers)
|grep -v "lost+found"  # à cette liste, tu ne me montre pas le dossier "lost+found"
| cut -d "/" -f3  # à cette liste, tu coupes les résultats sur les "/" et tu ne me donnes que le dernier (donc /home/toto va me donner seulement toto)
| sort   # tu tries la liste par ordre alphabetique
| uniq # et tu ne m'affiche pas 2 fois le même résultat (pas utile ici, mais j'ai l'habitude de le laisser)

Donc, cette commande met dans la variable $LISTUSERS le nom de chaque dossier contenu dans /home (pour lesquels on peut supposer que cela correspond aux utilisateurs du système)
Pas sécurité, mais je ne l'ai pas mis dans l'exemple pour ne pas compliquer, je vérifie aussi que le nom des dossiers de /home correspond à un user du système dans /etc/passwd, et que cet utilisateur à un shell valide et dont le home pointe bien sur celui trouvé.
C'est alambiqué, je sais, mais cela permet de retrouver un dossier qui n'a pas lieu d'être dans /home, ou un user qui ne correspondrait pas au système, ... avec des alertes simples à programmer.

Personellement, j'utilise une autre solution:
je suis parano, et je n'aime pas trop laisser à mes utilisateurs des scripts qu'ils peuvent modifier ou rajouter sans que je n'ai donné mon aval.
J'ai donc un répertoire de scripts validés (/root/nscripts, par exemple)
A chaque connexion, ils lancent un script qui synchronise leur répertoire de scripts avec /root/nscripts. Cette synchro par rsync supprime dans leur répertoire ce qui n'est pas validé, et remet la version validée au cas où ils auraient modifiés ceux en place. Ce qui fait que si j'apporte une mise à jour à un script, je sais qu'au prochain logg de l'utilisateur, il l'aura.
S'ils veulent un script particulier, charge à eux de me le transmettre afin de le valider, ou de me demander de le développer.
Et pour être sûr que le script de lancement est présent et pas supprimé par l'utilisateur, un cron le remet en place tous les jours.

Mais on sort un peu du cadre de la demande de départ.

Hors ligne

#10 Le 09/03/2008, à 14:59

libre

Re : Accès aux Nautilus-scripts à tout les utilisateurs

Merci pour les details de ta commande find ainsi que pour tes explications.
Je vais m'en servir pour faire quelques chose qui tienne la route.


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#11 Le 09/03/2008, à 17:51

kaer

Re : Accès aux Nautilus-scripts à tout les utilisateurs

Pour partager des scripts nautilus, tu peux faire comme ceci:
1. copier (ou lier en dur) ton script en /usr/share/nautilus-scripts
2. ajouter un lien symbolique vers ton script en /etc/skel/.gnome2/nautilus-scripts ce qui créera les liens vers les comptes que tu créeras dans le futur. Pour les comptes existants, tu dois aller mettre ce lien symbolique toi-même.

Tu peux automatiser en partie avec le package nautilus-script-manager.

Hors ligne

#12 Le 10/03/2008, à 17:42

libre

Re : Accès aux Nautilus-scripts à tout les utilisateurs

Merci pour ton aide kaer,

Ton idée m'intéresse au plus haut point, peux-tu par contre la développer un peu plus ?


La liberté signifie la responsabilité. C'est pourquoi la plupart des hommes la craignent.

Hors ligne

#13 Le 29/10/2008, à 22:06

Pump

Re : Accès aux Nautilus-scripts à tout les utilisateurs