#1 Le 02/10/2006, à 17:17
- whynot
[nautilus-scripts] Restaurer des permissions user sur plusieurs objets
Hello,
Je mets à disposition ici un petit bout de script que j'ai trituré à partir de quelques autres scripts et qui restaure récursivement des permissions utilisateur sympatoches (rwX,o= ) ainsi que des propriétés tout aussi sympatoches ($whoami:users).
Ce script a été conçu après quelques problèmes de droits mal modifiés par http://www.fs-driver.org/, un driver Ext2 pour windows que j'utilise pour faire cohabiter au mieux Ubuntu et Windows. Il me sert aussi pour installer des applications pas vraiment "unix compliant" qui écrivent leurs fichiers de config dans le répertoire d'installation et que j'installe généralement dans /opt/$app.
Bien sûr, il ne s'agit PAS de lancer ce script sur /usr ! Il peut être très dangereux de le lancer n'importe où, et est à réserver à quelques utilisations ponctuelles comme celle ci-dessus.
Je suis bien sûr ouvert à toute amélioration, proposition.
#!/bin/sh
# This script restores nice permissions on selected
# folder / file(s) or when clicked inside a folder
# Placed in the public domain by Ronan Jouchet
# Almost everything is from :
# 'open-terminal-here" script from Chris Picton
# 'root-nautilus-here' script from Shane T. Mueller
# Thanks a lot for their scripts !
#
# gksudo usage to provide popup password window if sudo has expired.
# Line only echos got root to std output. But gksudo updates your
# sudo access privs, so running nautilus with sudo will succeed
# without asking for a password.
base="`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`"
buddy="`whoami`"
if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
dir="$base"
else
while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done
dir="$base/$1"
fi
foo=`gksudo -u root -k -m "enter your password for nautilus root access" /bin/echo "got r00t?"`
sudo chmod -R ug=rwX,o= $dir
sudo chown -R $buddy:users $dir
Dernière modification par whynot (Le 04/10/2006, à 18:31)
Hors ligne
#2 Le 04/10/2006, à 13:43
- newbeenul
Re : [nautilus-scripts] Restaurer des permissions user sur plusieurs objets
Bonjour,
Je cherche un script de ce genre mais qui marcherait sur des fichiers.
Si j'ai bien compris celui-ci change les droits du répertoire ( d'ou l'option -R ?).
Dans mon cas j'ai qulques problèmes de fichiers qui prennent les droits root lorsque je les enregistre en réseau (avec OoO, Evolution...) et que j'aimerais simplement remettre en user avec simple un clic droit... (la j'ouvre un nautilus en root a chaque fois, je navique , clic droit permissions etc... c'est un peu fastidieux)
Je n'ose pas modifier directement ce script car je ne comprends pas tout dedans quelqu'un pourrait m'aider?
Merci!
Hors ligne
#3 Le 04/10/2006, à 17:04
- whynot
Re : [nautilus-scripts] Restaurer des permissions user sur plusieurs objets
Salut à toi,
Bonne nouvelle : ça marche aussi sur des fichiers (et j'en profite pour éditer la description dans le premier post)
J'ai même pas pensé à préciser étant donner que je m'en sers toujours sur des dossiers.
Petites explications :
base="`echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g'`"
buddy="`whoami`"
> Génération des variables locales de chemin et nom d'utilisateur
if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
dir="$base"
else
while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done
dir="$base/$1"
fi
> Répertoire ou fichiers ? Extrait de 'root-nautilus-here', et si un gourou du scripting bash pouvait l'expliquer précisément (les conditions notamment), ça m'arrangerait bien aussi
foo=`gksudo -u root -k -m "enter your password for nautilus root access" /bin/echo "got r00t?"`
> Droits root
sudo chmod -R ug=rwX,o= $dir
sudo chown -R $buddy:users $dir
> Zou on effectue les modifs
Enfin, pour ceux qui ne sauraient pas,
1. Ce script est à mettre dans ~/.gnome2/nautilus-scripts
2. Il faut ensuite le rendre exécutable : chmod +x ~/.gnome2/nautilus/scripts/<nomduscript>
3. Clic droit sur l'élément (dossier, fichier(s) ou espace vide) > Scripts > <nomduscript>
Infos supplémentaires : http://planet.ubuntu-fr.org/index.php?q=nautilus-scripts
Dernière modification par whynot (Le 04/10/2006, à 20:07)
Hors ligne
#4 Le 04/10/2006, à 18:57
- newbeenul
Re : [nautilus-scripts] Restaurer des permissions user sur plusieurs objets
Génial, merci!...
Hors ligne