Problème de CHMOD

Résolu
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   -  
 bobo -
Bonjour à tous en cette journée ensoleillée ... !!! (heureusement que je bosse, sinon j'aurais la haine - LOL)

"LA QUESTION" :

Par défaut, dans /home/ lorsqu'on cré un fichier il est en CHMOD 644, est il possible de changer cette valeur par défaut ????? Ca règlerait le problème !!


"EXPLICATIONS" :

Voilà mon petit soucis,
j'ai un serveur ubuntu LTSP, qui marche au poil ! J'ai créer mes groupes, users, fichiers de partages en fonction des groupes, le LTSP marche impec via le réseau, d'ailleurs chose que je recommande pour les gens qui ont un pc très pourri, une carte réseau (10/100), un boot dessus (ou clé USB ou disquette --> boot sur ROM) et ça roule !vraiment impressionnant .... !!!

ET DONC, j'ai un serveur SAMBA dessus qui marche, c'est à dire depuis l'extérieur (client pc traditionnel), l'authentification se fait (attention sur Hardy Heron - ubuntu 8.04 bug détecté à priori sur nautilus, impossible de s'authentifier) et l'accès aux différents fichiers est très bien géré ... maintenant étant en LTSP, vu le bug donc impossible de passer par samba via authentification, je passe directement avec des chmod dans /home/ :

J'ai créé plusieurs users : (exemle)
-user1
-user2
-user3
-user4
-...

J'ai créé plusieurs groupes : (exemple)
-groupe1
-groupe2
-groupe3
-groupe4
-groupe5
-...

Et donc certain fichiers ont différents accès :
-chown user1:groupe1 /home/dossier1/
-chown user2:groupe2 /home/dossier2/
-chown user3:groupe3 /home/dossier3/
-...

Maintenant, on sait que l' :
user4 peut accéder partout : groupe1/2/3/4/5/....
user1 peut accéder qu'à dossier1
user2 peut accéder qu'à dossier2
user3 peut accéder qu'à dossier3
...

LE PROBLEME c'est que si l'user4 va dans dossier1, ouvre un fichier, le modifie et l'enregistre, il change le chmod de ce dernier fichier en 644, et aussi le chown en user4:groupe5 donc rend impossible à la modification le fichier par les users qui se trouvent dans le groupe1.

(vous comprenez ? :s)
Dans samba, j'ai précisé que le dossier où sont stockés tous ces dossiers ont un :
create mask = 777
donc malgré que le chown change, il reste utilisable, modifiable par les autres users/groupes !

Par défaut, dans /home/ lorsqu'on cré un fichier il est en CHMOD 644, est il possible de changer cette valeur par défaut ????? Ca règlerait le problème !!

merci !

16 réponses

Grunt Messages postés 2773 Date d'inscription   Statut Contributeur Dernière intervention   301
 
Je dirais que la réponse s'appelle "umask".
http://www.iteam.org/BASE/node143.html

Si c'est trop technique n'hésite pas à demander des éclaircissements.
0
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   17
 
Wow !

merci de cette réponse très rapide !

En effet, je suppose que ca doit etre ça !

maintenant je ne comprends pas trop le fonctionnement, pour mon cas :

/home/server_filer/fichier1/
/home/server_files/fichier2/
/home/server_files/fichier3/
...

fichier1/2/3 ont un chmod 770, mais lorsque l'on cré à l'intérieur un fichier, ce dernier tombe à 644, comment rendre fichier1/2/3 par défaut à 777 (dedans) ?? vu que le fichier est à 770, les autres ne peuvent pas accéder, donc dedans ils peuvent etre à 777 !
0
Grunt Messages postés 2773 Date d'inscription   Statut Contributeur Dernière intervention   301
 
lis la doc ^^
il faut changer le umask des utilisateurs:
"Vérifiez votre fichier /etc/profile pour déterminer quelle valeur d'umask est associé à votre identifiant, et aussi pourquoi."
0
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   17
 
Je serais sur la machine ce soir, là je travail ... (heureusement qu'il fait beau et chaud sinon ça m'embêterait !!!

merci !!!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   17
 
Une question quand mm ...

donc j'ai vu 022 à la base donc 644, 026 pour un 660 .... c'est juste ?? et pour un 777 ? :D
0
Grunt Messages postés 2773 Date d'inscription   Statut Contributeur Dernière intervention   301
 
ça dépend si le fichier est exécutable ou pas.
S'il l'est, les droits sont 777 - umask.
S'il ne l'est pas, les droits sont 666 - umask.

Les droits en 777 veulent dire que tu donnes la permission d'éxecuter le fichier. Pour autoriser la lecture écriture par tout le monde, 666 suffit (et c'est moins dangereux).
0
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   17
 
oui ce sont pour les executables ... donc .ods/.odt/.png/............ et ces derniers se trouvent dans des fichiers qui ont des CHMOD inchangeables ... donc en changeant l'umask, ça règle le problème ...

si j'ai bien compris ... ? :|
0
Grunt Messages postés 2773 Date d'inscription   Statut Contributeur Dernière intervention   301
 
Non ça c'est pas des éxecutables, ce sont des documents qui s'ouvrent avec un exécutable.
0
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   17
 
euh ouais ok ... j'ai compris !

Je verrais ce soir lorsque je serais sur la machine !


merciiii
0
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   17
 
Re ça me travail .. j'ai bientot fini le boulot mais j'y réfléchis ...

Donc quand j'irais voir dans /etc/profile si je veux concervé le 777, je dois modifier le umask de 022 (d'origine à priori) à 000 ..... ?
0
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   17
 
Yep, voici mon /et/profile :

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ -d /etc/profile.d ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi

if [ "$PS1" ]; then
if [ "$BASH" ]; then
PS1='\u@\h:\w\$ '
if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
fi
else
if [ "`id -u`" -eq 0 ]; then
PS1='# '
else
PS1='$ '
fi
fi
fi

umask 022

Je vais donc changer la dernière ligne :
umask 022
en :
umask 026

Et je verrais en créant un fichier test SI je n'ai plus le chmod 644 (en espérant atteindre 666)
0
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   17
 
bon, marche pas .. à moins qu'il faut rebooter ........... ? ou alors j'n'ai pas pigé le truc .. En tout cas j'n'ai pas fais comme sur la doc, vu que j'veux que ca soit POUR TOUJOURS, l'user cré un fichier, le chmod par défaut doit etre de 666 et pas autre chose ...
0
jee pee Messages postés 41518 Date d'inscription   Statut Modérateur Dernière intervention   9 720
 
bonsoir,

je m'immisce dans la conversation,

je n'ai pas souvent utilisé le umask, mais l'explication qui suit correspond à ce que j'avais retenu, pourquoi 026, plutot 000 non ?

Changer les droits par défaut : umask

Quand vous créer un fichier, par exemple avec la commande touch, ce fichier par défaut possède certains droits. Ce sont 666 pour un fichier (-rw-rw-rw-) et 777 pour un répertoire (-rwxrwxrwx), ce sont les droits maximum. Vous pouvez faire en sorte de changer ces paramètres par défaut. La commande umask est là pour ça.

Pour un fichier :

Si vous tapez umask 022, vous partez des droits maximum 666 et vous retranchez 022, on obtient donc 644, par défaut les fichiers auront comme droit 644 (-rw-r-r--).

Si vous tapez umask 244, vous partez des droits maximum 666 et vous retranchez 244, on obtient donc 422, par défaut les fichiers auront comme droit 422 (-rw--w--w-).

Pour un répertoire :

Si vous tapez umask 022, vous partez des droits maximum 777 et vous retranchez 022, on obtient donc 755, par défaut les fichiers auront comme droit 644 (-rwxr-xr-x).

Si vous tapez umask 244, vous partez des droits maximum 777 et vous retranchez 244, on obtient donc 533, par défaut les fichiers auront comme droit 422 (-rwx-wx-wx).

umask n'est utilisatable que si on est propriétaire du fichier.


A priori on doit même pouvoir le tester à la main en ligne de commande.

Par contre on peut se demander si le profile d'un compte est bien utilisé lors d'une copie d'un fichier via samba. Le profile est executé quand on se logue sur une session terminal, mais pour les autres types de connexion ce n'est pas nécessairement le cas.

cdt
0
touchepasaugrisbi Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   4
 
Bonsoir,

Pour compléter ce qui a été dit par Grunt :

http://www.iteam.org/BASE/node143.html

https://fr.wikipedia.org/wiki/Umask

http://wiki.mandriva.com/#Compl.C3.A9ment_sur_les_permissions_pour_un_r.C3.A9pertoire


Bon courage.
0
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   17
 
Salut !

Merci de la réponse ... mais ça ne marche pas comme je voudrais ... J'ai beau essayé de comprendre vos postes/URL j'n'arrive à rien ... !

En fait, mon soucis est un partage de fichiers entre utilisateurs, mais vu que certains utilisateurs sont multi groupes, lorsqu'ils modifient un fichier, ca fou la vérole avec le chmod, il devient inaccessible aux autres du groupe ...

Du coup, j'ai essayé de modifier /etc/profile, en mettant à la dernière ligne à la place de "umask 022" >> "umask 000"
Lorsque j'essaie le partage de fichier, eh ben les fichiers de type texte créés simplement (Clic droit, créer un document, fichier vierge) sont accessible avec un CHMOD 666, par contre la création de dossier est toujours en 644 .... :

-rw-rw-rw- 1 toto toto 11 2008-05-09 23:04 test03
drwxr-xr-x 2 toto toto 4096 2008-05-09 23:02 test03-3

Comment faire pareil sur les dossiers pour enfin mettre résolu au poste ??

merci !!
0
J0K0 Messages postés 163 Date d'inscription   Statut Membre Dernière intervention   17
 
A priori, c'est un bug de nautilus de ne pas avoir en graphique le CHMOD 666 comme les fichiers vierges en modifiant l'umask 000 dans /etc/profile ... Cependant et bisarement chez moi ça marche ... J'ai bien un chmod de 755, mais j'arrive à renomer le dossier ... !!!

Merci à tout le monde !
0
bobo
 
Bonjour,

je lisais attentivement tous les posts et j'ai trouvé la solution

il s'agit d'un problème de propriéte de dossier, si tu analyse bien le problème

il suffit de faire un CHOWN sur les dossier pour te remettre propriétaire N1

Moi j'ai effectué directement le CHOWN a partir du panneau de control de l'hebergeur

et cela a fonctionné
0