#1 Le 16/03/2010, à 20:44
- JackWarrior
Automatiser chown et chmod avec un script
Bonsoir tout le monde,
Une petite question en cette belle soirée ;-)
Le contexte:
- Ubuntu 9.04 avec deux utilisateurs (disons utilisateur1 et utilisateur2 pour simplifier)
- utilisateur1 est administrateur et utilisateur2 a des droits limités
- un dossier Partage pour stocker mp3 et photos auxquels les deux utilisateurs ont accès. utilisateur1 peut détruire et créer des fichiers, utilisateur2 ne peut que lire (pour éviter les bêtises)
Le problème:
quand en tant qu'utilisateur1 je rajoute des nouveaux fichiers dans ce dossier Partage, utilisateur2 ne peut pas forcément les lire. Les droits des fichiers rajoutés ne sont pas ceux que je désire. J'ai essayé de régler ça via le umask mais ça ne fonctionne plus trop, sans que je comprenne bien pourquoi (voir ici: http://forum.ubuntu-fr.org/viewtopic.php?id=339308)
bref, pour qu'uilisateur2 puisse lire les nouveaux fichiers, je dois ponctuellement passer via chown et chmod dans le terminal pour redéfinir les permissions sur les dossiers et fichiers.
En gros je lance dans un premier temps:
root@utilisateur1-desktop:~# chown -R utilisateur2:public /home/utilisateur2/
root@utilisateur1-desktop:~# chown -R utilisateur1:public /home/utilisateur1/
root@utilisateur1-desktop:~# chown -R utilisateur1:public /home/partage/
L'attribution "public" permet d'associer chaque utilisateur au compte de l'autre et au dossier partage. Ceci fait, je lance un laborieux:
root@guillaume-desktop:~# chmod -R ugo+rwx /home/utilisateur2/
root@guillaume-desktop:~# chmod -R ugo+rwx /home/utilisateur1/
root@guillaume-desktop:~# chmod -R ugo+rwx /home/partage/
root@guillaume-desktop:~# chmod -R o-rwx /home/utilisateur2/
root@guillaume-desktop:~# chmod -R o-rwx /home/utilisateur1/
root@guillaume-desktop:~# chmod -R o-rwx /home/partage/
root@guillaume-desktop:~# chmod -R g-w /home/utilisateur2/
root@guillaume-desktop:~# chmod -R g-w /home/utilisateur1/
root@guillaume-desktop:~# chmod -R g-w /home/partage/
J'ai commencé à utiliser des scripts et des lanceurs pour automatiser certaines tâches (Rsync par exemple), et je me dis qu'il doit y avoir moyen de simplifier chown et chmod tels que ci dessus, mais je cale un peu après plusieurs tentatives.
Alors des fois qu'une bonne âme me ferait voir la lumière au bout du tunnel...
Hors ligne
#2 Le 16/03/2010, à 21:05
- fabux
Re : Automatiser chown et chmod avec un script
Salut,
jettes un oeil là tu trouveras peut-être une réponse (mais pas un script).
May linux be with you
Comment poster un message.
Je me présente dans la doc
Hors ligne
#3 Le 17/03/2010, à 09:17
- nesthib
Re : Automatiser chown et chmod avec un script
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#4 Le 17/03/2010, à 09:57
- fabux
Re : Automatiser chown et chmod avec un script
[jalousie on]ça m'énerve ces gens qui font ce qu'ils veulent avec bash[/jalousie off]
Je maitrise mal (voire pas) la notion de gid, sid, mais on ne m'ôtera pas de la tête qu'il doit être tout de même possible d'avoir une bonne gestion en partagé sans passer par ch-own/mod.
May linux be with you
Comment poster un message.
Je me présente dans la doc
Hors ligne
#5 Le 17/03/2010, à 11:48
- credenhill
Re : Automatiser chown et chmod avec un script
hello
chmod -R ug+rwx,o-rwx,g-w /home/utilisateur2/ /home/utilisateur1/ /home/partage/
remplacer x par X pour n'attribuer le droit x qu'aux répertoires ou aux fichiers qui l'ont déja
Hors ligne
#6 Le 17/03/2010, à 14:49
- Hornblende
Re : Automatiser chown et chmod avec un script
Salut,
je suis à peu près dans la meme situation que toi sur mon ordi(2 utilisateurs) et des dossiers en commun.
Tout d'abord j'ai mis en place un umask 007 (la classe!)dans /etc/profile. Ca marche parfaitement pour les fichiers qu'on créé par la suite, les droits des fichiers qui existaient déjà et des dossiers restent inchangés, les nouveaux sont partagés.
En tout cas lorsqu'on copie des données d'un support externe ne gérant pas les droits(FAT32, NTFS...)comme une carte SD, le fichier créé n'a pas les droits pour le groupe...
En cherchant un peu j'ai trouvé une possibilité avec les ACL qui permettent une gestion plus fine des droits par dossier selon l'utilisateur, mais j'ai pas testé.
Regarde la section "Droits par défaut et héritage des droits étendus" sur Lea:
Gestion des ACL
et ici
Sur le Wiki de Ubuntu-fr
edit:
Trouvé une autre piste sur le brainstorm d'ubuntu: Vas voir le post de Ubun2ideas
Attention c'est en anglais
"gedit ~/.gnomerc
-- ensures that programs like Firefox, gedit and others will obey the umask you want. Changes to .bashrc by itself will not accomplish this. Test it yourself if you don't believe me. See how when you save a file from Firefox it obeys the settings in ~/.gnomerc, and ignores ~/.bashrc entirely.
-- simply add a line at the end (with a four digit #):
umask ####
-- completely log out and back in to initiate it. "
Je vais tester ce soir avec umask 0007
Dernière modification par Hornblende (Le 17/03/2010, à 15:57)
Vous êtes débutant / nouveau sous Ubuntu et Gnu/Linux ? Pas de panique !
=> commencez par là
Hors ligne
#7 Le 17/03/2010, à 20:19
- Hornblende
Re : Automatiser chown et chmod avec un script
J'ai pas testé les ACL mais en tous cas le .gnomerc n'a pas résolu le problème de la copie en graphique avec nautilus à partir d'une carte SD en Fat...J'ai fait des tests et apparemment nautilus fait un cp -a qui conserve les droits d'origine...Donc ça conserve les droits issus de la carte SD au lieu d'appliquer les droits des umask...
Ca donne quoi chez toi, le umask marche bien aussi?
Pour moi créer de nouveaux fichiers marche bien, les droits du umask sont bien appliqués.
Quelqu'un sait il comment changer les droits lors du montage automatique de n'importe quelle partition (donc pas avec fstab)dont le système de fichier ne gère pas les droits(comme fat32)?
Vous êtes débutant / nouveau sous Ubuntu et Gnu/Linux ? Pas de panique !
=> commencez par là
Hors ligne
#8 Le 17/03/2010, à 20:33
- nesthib
Re : Automatiser chown et chmod avec un script
@Hornblende : lis la page de doc mount_fstab. Tu peux fixer un masque pour une partition FAT/NTFS mais :
- les droits seront les même pour toute la partition
- ils seront virtuels et perdus au démontage
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#9 Le 17/03/2010, à 21:00
- Hornblende
Re : Automatiser chown et chmod avec un script
@nesthib: Merci mais je connais déjà, et c'est justement pour ça que j'ai marqué "montage automatique de n'importe quelle partition" et "pas avec fstab". Il faut faire ça pour un support particulier, j'aimerais le faire pour tous les supports externes qui n'ont pas de gestion propres des droits(fat32 par exemple).
Si quelqu'un se ramène avec une clé USB ou une carte SD, l'idée c'est que le montage soit automatique avec les bons droits, et pas monter le volume à la main, sinon c'est même plus rapide de faire un chmod par la suite...
Vous êtes débutant / nouveau sous Ubuntu et Gnu/Linux ? Pas de panique !
=> commencez par là
Hors ligne
#10 Le 17/03/2010, à 21:07
- nesthib
Re : Automatiser chown et chmod avec un script
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#11 Le 17/03/2010, à 21:46
- JackWarrior
Re : Automatiser chown et chmod avec un script
7 réponses en moins de 24h00... va falloir me laisser le temps de lire tout ça et de faire quelques tests... merci à tous en tout cas pour votre rapidité... Je reviendrai poster dans quelques jours une fois mes essais réalisés.
par contre je ne comprends pas trop ça:
remplacer x par X pour n'attribuer le droit x qu'aux répertoires ou aux fichiers qui l'ont déja
[EDIT]: je viens de mettre le umask à 007 et j'ai l'impression que ça répond à mes besoins... je continue de creuser le reste
Dernière modification par JackWarrior (Le 17/03/2010, à 22:07)
Hors ligne
#12 Le 18/03/2010, à 08:00
- credenhill
Re : Automatiser chown et chmod avec un script
par contre je ne comprends pas trop ça:
remplacer x par X pour n'attribuer le droit x qu'aux répertoires ou aux fichiers qui l'ont déja
soit un fichier et un répertoire, avec X, je ne donne le droit x qu'au répertoire, pas au fichier
$ chmod a= x y
$ ls -ln
total 4
---------- 1 1000 1000 0 2010-03-18 07:50 x
d--------- 2 1000 1000 4096 2010-03-18 07:50 y
$
$ chmod u=rwX y x
$ ls -ln
total 4
-rw------- 1 1000 1000 0 2010-03-18 07:50 x
drwx------ 2 1000 1000 4096 2010-03-18 07:50 y
$
Hors ligne
#13 Le 18/03/2010, à 08:51
- JackWarrior
Re : Automatiser chown et chmod avec un script
@ credenhill: ok, c´est clair, merci
Hors ligne