GNT sans publicité, site mobile, fonctionnalitées exclusives...

groupe par d

Le
denist
Bonjour

Est-il possible de forcer un répertoire/fichier à appartenir à un groupe
donné ?

Exemple :

#ls -alh /home/jean
drwxrwx 5 jean apache 4.0K Jun 6 13:11 jean

Pour ce j'ai fais :

chgrp -R apache /home/jean
chmod -R g+rwX /home/jean

"Mais" quand jean créé un dossier via FTP ou SSH, il appartient alors au
groupe jean. Est-il possible de contraindre le système à donner comme
groupe propriétaire apache à tout le contenu de /home/jean ?

Si c'est impossible je vais être obligé de jouer avec cron et ça ne
m'enchante pas.

Merci d'avance
Lire les 8 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Alex
Le #23432201
Le 07-06-2011, denist
Bonjour




Bonjour,

Est-il possible de forcer un répertoire/fichier à appartenir à un groupe
donné ?

Exemple :

#ls -alh /home/jean
drwxrwx--- 5 jean apache 4.0K Jun 6 13:11 jean

Pour ce j'ai fais :

chgrp -R apache /home/jean
chmod -R g+rwX /home/jean

"Mais" quand jean créé un dossier via FTP ou SSH, il appartient alors au
groupe jean. Est-il possible de contraindre le système à donner comme
groupe propriétaire apache à tout le contenu de /home/jean ?




Il faut utiliser le bit setgid: man chmod. Cela sert à attribuer a tous
les fichiers ou répertoires créés dans le répertoire contenant le bit
setgid le groupe de référence de ce répertoire. Si le répertoire
appartient au groupe 'apache', alors tous les fichiers et répertoires
créés auront ce même groupe d'appartenance.

Exemple:

$ chmod 2750 /home/user

--
Alex
denist
Le #23432321
Le Tue, 07 Jun 2011 12:36:43 +0000, Alex a écrit :

Le 07-06-2011, denist
Bonjour




Bonjour,

Est-il possible de forcer un répertoire/fichier à appartenir à un
groupe donné ?

Exemple :

#ls -alh /home/jean
drwxrwx--- 5 jean apache 4.0K Jun 6 13:11 jean

Pour ce j'ai fais :

chgrp -R apache /home/jean
chmod -R g+rwX /home/jean

"Mais" quand jean créé un dossier via FTP ou SSH, il appartient alors
au groupe jean. Est-il possible de contraindre le système à donner
comme groupe propriétaire apache à tout le contenu de /home/jean ?




Il faut utiliser le bit setgid: man chmod. Cela sert à attribuer a tous
les fichiers ou répertoires créés dans le répertoire contenant le bit
setgid le groupe de référence de ce répertoire. Si le répertoire
appartient au groupe 'apache', alors tous les fichiers et répertoires
créés auront ce même groupe d'appartenance.

Exemple:

$ chmod 2750 /home/user



Bonjour et merci, en effet ça fonctionne. J'avais trouvé setgid mais les
paramètres me semblent compliqués et j'ai peur de créer des trous de
sécurité.
J'ai besoin que apache puisse écrire dans ce répertoire, alors j'ai fais
chmod -R 2770 /home/user
et c'est ok.
Mais lorsque que le user créé un dossier/fichier, apache n'a les droits
qu'en lecture. Est-ce possible ?
Merci
Alex
Le #23432461
Le 07-06-2011, denist
Bonjour et merci, en effet ça fonctionne. J'avais trouvé setgid mais les
paramètres me semblent compliqués et j'ai peur de créer des trous de
sécurité.
J'ai besoin que apache puisse écrire dans ce répertoire, alors j'ai fais
chmod -R 2770 /home/user
et c'est ok.
Mais lorsque que le user créé un dossier/fichier, apache n'a les droits
qu'en lecture. Est-ce possible ?
Merci



Pour gérer les permissions à la création de fichiers / répertoires,
il faut configurer la valeur d'*umask* du shell de l'utilisateur,
dans le .profile, ou encore le .bashrc, ou autre:

umask 017

Ce qui aura pour effet de ne pas mettre de permissions pour le reste du
monde, mais d'autoriser lecture/écriture/exécution pour l'utilisateur
et lecture/écriture pour le groupe.
La valeur par défaut est en général de 022. Pour obtenir la valeur
actuellement utilisée, il suffit de taper 'umask' dans le shell sans
arguments.

Pour avoir plus d'informations: man umask :)

--
Alex
denist
Le #23437811
Le Tue, 07 Jun 2011 13:58:47 +0000, Alex a écrit :

Le 07-06-2011, denist
Bonjour et merci, en effet ça fonctionne. J'avais trouvé setgid mais
les paramètres me semblent compliqués et j'ai peur de créer des trous
de sécurité.
J'ai besoin que apache puisse écrire dans ce répertoire, alors j'ai
fais chmod -R 2770 /home/user
et c'est ok.
Mais lorsque que le user créé un dossier/fichier, apache n'a les droits
qu'en lecture. Est-ce possible ?
Merci



Pour gérer les permissions à la création de fichiers / répertoires, il
faut configurer la valeur d'*umask* du shell de l'utilisateur, dans le
.profile, ou encore le .bashrc, ou autre:

umask 017

Ce qui aura pour effet de ne pas mettre de permissions pour le reste du
monde, mais d'autoriser lecture/écriture/exécution pour l'utilisateur et
lecture/écriture pour le groupe.
La valeur par défaut est en général de 022. Pour obtenir la valeur
actuellement utilisée, il suffit de taper 'umask' dans le shell sans
arguments.

Pour avoir plus d'informations: man umask :)




Merci pour tout, j'ai passé une partie de la nuit à bûcher les
permissions et c'est maintenant réglé ! J'ai aussi découvert que la
majorité des programmes que j'utilise (serveur ftp etc) permettent de
configurer le umask, mon problème venait en partie de là aussi.

Toujours aussi efficace Usenet :)
A+
Stephane CHAZELAS
Le #23437921
2011-06-7, 13:58(+00), Alex:
Le 07-06-2011, denist
Bonjour et merci, en effet ça fonctionne. J'avais trouvé setgid mais les
paramètres me semblent compliqués et j'ai peur de créer des trous de
sécurité.
J'ai besoin que apache puisse écrire dans ce répertoire, alors j'ai fais
chmod -R 2770 /home/user
et c'est ok.
Mais lorsque que le user créé un dossier/fichier, apache n'a les droits
qu'en lecture. Est-ce possible ?
Merci



Pour gérer les permissions à la création de fichiers / répertoires,
il faut configurer la valeur d'*umask* du shell de l'utilisateur,
dans le .profile, ou encore le .bashrc, ou autre:

umask 017

Ce qui aura pour effet de ne pas mettre de permissions pour le reste du
monde, mais d'autoriser lecture/écriture/exécution pour l'utilisateur
et lecture/écriture pour le groupe.
La valeur par défaut est en général de 022. Pour obtenir la valeur
actuellement utilisée, il suffit de taper 'umask' dans le shell sans
arguments.

Pour avoir plus d'informations: man umask :)



Note que sans modifier l'umaks des utilisateurs il y a aussi la
solution d'utiliser les default POSIX acls:

~$ umask
022
~$ sudo install -o chazelas -g audio -m 3775 -d test
~$ ls -ld test
drwxrwsr-t 2 chazelas audio 4096 Jun 8 13:58 test/
~$ touch test/a
~$ setfacl -m d:g::rwx test
~$ touch test/b
~$ ls -l test
total 0
-rw-r--r-- 1 chazelas audio 0 Jun 8 13:58 a
-rw-rw-r-- 1 chazelas audio 0 Jun 8 13:58 b

--
Stephane
Publicité
Suivre les réponses
Poster une réponse
Anonyme