Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/10/2011, 18h19   #1
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Par défaut En finir avec les droits UNIX ?

Bonjour à tous,

J'ai un dédié Centos 5 avec PLesk 10.
Sur ce serveur, des domaines que je suis seul à gérer, que ce soit le FTP, le Shell ou l'interface Plesk.
Les utilisateurs n'ont qu'un accès Web via des interfaces privées.

Les sites installés utilisent pas mal de fonctions qui manipulent les fichiers...

Alors ma question est : comment configurer le serveur pour éviter, à chaque fois que j'installe un site, de se taper des CHMODS dans tous les sens, et évidemment éviter les "Permission denied" au moindre fopen() ou move_uploaded_file() ?

J'ai fait pas mal de recherches sur Google mais rien vu de clair : des users, des groups...
Auriez-vous des conseils, des pistes, des tutos pour en finir un bonne fois pour toutes avec ce truc ?
Merci beaucoup d'avance.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 03/10/2011, 08h35   #2
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 538
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 538
Points : 7 754
Points : 7 754
mode connerie activé :
dégages du monde unix et va sous windows.
mode connerie fin
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 03/10/2011, 09h01   #3
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 451
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 451
Points : 2 151
Points : 2 151
Tu peux modifier le umask dans /etc/profile et dans ton ~/.bashrc (ou ~/.bash_profile, je sais plus) et le mettre à 0000. Ca créera tes fichiers en 666 et tes répertoires en 777.

Il faudra quand même rendre exécutable les fichiers exécutables par contre.
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 09h02   #4
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Mode correcteur activé
Les verbes du 1er groupe, à l'impératif, ne prennent pas de s
Mode correcteur fin

Et à part ça ? une idée sur la question qui puisse m'aider ?
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 03
Vieux 03/10/2011, 09h10   #5
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
A Loceka : bonjour et merci de ta réponse.

Je vais regarder de ce côté là.
J'ai depuis hier fait de nouvelles recherches et il semblerait que ce soit bien un problème de groupe et d'utilisateurs.
Une fois qu'un fichier a été modifié (ou crée) par PHP, son propriétaire devient Apache au lieu de "ftp-user" et plus moyen de rien faire dessus, même pas l'écraser via FTP.

C'est vraiment ce mécanisme que je voudrais modifier.

EDIT :
J'ai regardé le fichier etc/bashrc et voici la portion qui semble traiter umask :
Code :
1
2
3
4
5
6
 
if [ $UID -gt 99 ] && [ "`id -gn`" = "`id -un`" ]; then
	umask 002
else
	umask 022
fi
Faut-il que je remplace 002 par 000 ?
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 03/10/2011, 09h55   #6
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 451
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 451
Points : 2 151
Points : 2 151
Ben si c'est un problème de "owner" ça va pas résoudre ton souci.
Par contre si le fait de mettre tous les droits en lecture et écriture sur les fichiers résoud le problème alors oui, il suffit de passer les umask à 000 (ou 0000).

Donc fais le test avant en mettant à la main un chmod 666 sur tes fichiers pour voir si ça change quelque chose à ton problème.

Après, si tu ajoutes des fichiers par FTP/SFTP/... il est possible qu'il n'utilise pas les fichiers de configuration /etc/profile, /etc/bashrc, ~/... pour l'outil.
Auquel cas il te faudra voir si c'est faisable dans l'outil en question (par exemple pour FTP je suis pas sûr...).
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 10h03   #7
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Oui, si je mets le fichier en 666, ça fonctionne.
Ce que je voulais éviter, c'est justement de devoir modifier les CHMOD des dossiers et fichiers qui peuvent être concernés par les droits.

Par contre, après de nouvelles recherches, je vois que le fichier etc/proftpd.conf est aussi concerné par le umask :

Code :
1
2
3
4
 
# Umask 022 is a good standard umask to prevent new dirs and files
# from being group and world writable.
Umask				022
Du coup, je ne sais plus trop lequel modifier...
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 03/10/2011, 10h06   #8
Membre Expert
 
Avatar de Loceka
 
Tlouye Ci
Inscription : mars 2004
Messages : 1 451
Détails du profil
Informations personnelles :
Nom : Tlouye Ci

Informations forums :
Inscription : mars 2004
Messages : 1 451
Points : 2 151
Points : 2 151
Si tes fichiers sont créés par FTP, modifie juste le fichier de conf de FTP.

Si tu les crées via un shell (ssh, compte unix, ...) c'est dans /etc et ton home.

Si c'est via d'autres logiciels, je sais pas.
Loceka est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 10h15   #9
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Euh... mes dossiers et fichiers sont chargés par FTP et ensuite ils sont modifiés / crées via les scripts PHP
Je n'utilise pas shell pour cela.
Mais je voudrais bien que cette modif soit valable pour tout le serveur et pas par site...
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 03/10/2011, 11h24   #10
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Et pourquoi ne pas avoir pour chaque site un compte sur la machine qui sera utilisé par ftp et pour lancer les process apache de ce site?
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

Linus Torvalds
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 11h47   #11
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Citation:
Et pourquoi ne pas avoir pour chaque site un compte sur la machine qui sera utilisé par ftp et pour lancer les process apache de ce site?
Bonjour,

Je ne comprends pas trop bien la question...
Pour chaque site, dans Plesk, le domaine (le site) est crée, et oui, ils ont chacun un compte et accès FTP distinct (bien que les utilisateurs finaux ne connaissent pas ces identifiants et n'aient pas accès au FTP).
Donc pour le site A, si le user FTP est "toto", le propriétaire de ce qui est transféré est bien "toto".
Mais aussitôt que PHP intervient sur un fichier, le propriétaire devient Apache.
Et je ne sais pas comment, au niveau de PHP, faire en sorte que, pour un fopen() ou un move_uploaded_file(), par exemple, le proprio reste "toto" et pas Apache.
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 03/10/2011, 11h58   #12
Membre chevronné
 
Avatar de Marc3001
 
Homme
Ingénieur développement logiciels
Inscription : février 2008
Messages : 430
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 28
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : février 2008
Messages : 430
Points : 682
Points : 682
Je ne connais pas Plesk....

Dans l'idée, j'dirais pour chaque site :
- tu crées un compte spécifique
- tu fournis ce compte pour l'accès ftp
- tu lances les process apache de ce site avec ce compte
__________________
Le logiciel, c'est comme le sexe, c'est meilleur quand c'est libre.

Linus Torvalds
Marc3001 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/10/2011, 12h06   #13
Membre confirmé
 
Homme antoine jouan
Étudiant
Inscription : janvier 2010
Messages : 175
Détails du profil
Informations personnelles :
Nom : Homme antoine jouan
Âge : 25
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : janvier 2010
Messages : 175
Points : 250
Points : 250
Bonjour,
Pour la gestion des droits tu peux regarder du coté des ACL.

Ensuite quand tu add un site web tu peux lui créer un groupe userweb et mettre les répertoires utilisés dans ton groupe.

Ensuite ton site web, user ou autres entre dans ce groupe, je ne sais pas comment c'est gérer en arrière plan.

Ensuite pour modifier les droits tu peux faire un script shell pour modifier les droits de tes fichiers, répertoires, exécutables.
jouana est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 03/10/2011, 12h10   #14
Membre confirmé
 
Avatar de renaud26
 
Inscription : mars 2003
Messages : 1 043
Détails du profil
Informations personnelles :
Âge : 48
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : mars 2003
Messages : 1 043
Points : 285
Points : 285
Plesk...bah, c'est comme cPannel ou autres...
Ce que je ne capte pas :

Citation:
tu lances les process apache de ce site avec ce compte
Qu'est ce que ça veut dire ? Quand l'utilisateur final va se connecter à son site et entrer dans son admin privée, il pourra charger des images, créer des fichiers etc, etc...via des formulaires (blindés). C'est là que les droits m'emm...bêtent !
Si il y a 100 sites, pas envie, à chaque fois, de devoir faire un 777 sur le dossier "images"...
renaud26 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 19h07.


 
 
 
 
Partenaires

Hébergement Web