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
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

Poser une question


Bonjour,
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
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
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+
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