Question

Je vais essayer de mon mieux pour expliquer comment je suis en train de mettre en place ce système.

Imaginez un serveur de production en cours d'exécution WHM avec différents sites. Nous appellerons ces sites ... site1, site2, site2

Maintenant, avec la configuration WHM, chaque site a un utilisateur / groupe défini pour eux, nous allons garder ces utilisateurs / groupes appelés site1, site2 pour des raisons de simplicité.

Maintenant, la mise à jour de ces sites est effectuée en utilisant SVN, et par l'utilisation d'un script de post commit mise à jour automatique de ces sites (avec svn bloqué par la configuration apache).

Il y a deux mainteneurs réguliers de ces sites, nous allons les appeler Joe et Bob. Joe et Bob ont accès commandline au serveur via thier comptes limités respectifs.

Je l'ai fait le peu facile, a réussi à obtenir SVN travailler avec ces « mainteneurs » de sorte que lorsqu'un SVN se produit, les changements sont extraits et vont parfaitement vivent.

Voici le Cavet, et finalement mon problème. Autorisations utilisateur.

Grâce à mes tests de cette configuration, je n'ai réussi à le faire fonctionner en donnant ce qui est des autorisations mises à jour de 777, de sorte que Joe et Bob peuvent lire et écrire l'accès aux répertoires de webfront pour chacun des sites.

Ainsi, un exemple de la façon dont il est mis en place maintenant:

Joe et Bob appartiennent à un groupe appelé « Dev ». Je les dossiers maître / svn mis en place à la fois en lecture et écriture à ce groupe, et il fonctionne très bien. Après commit déclencheurs, met à jour le site, et définit ensuite 777 sur chaque fichier dans le webfront.

J'ai ensuite changé cela pour essayer et prendre en compte les mises à jour d'autorisation du groupe, au lieu de droite 777.

Chaque dossier dans / home / site1 / public_html se donne intially un chmod de 664, et chaque dossier 775

Ce qui ressemble un peu à quelque chose comme ça

drwxrwxr-x .
drwxrwxr-x ..
drwxrwxr-x site1 site1 my_test_folder
-rw-rw-r-- site1 site1 my_test_file

site1 est propriétaire sla et propriétaire du groupe de ces fichiers et dossiers. Donc, je puis ajouté site1 à des groupes secondaires Joe et Bobs afin que la mise à jour SVN correctement autoriser l'accès à ces fichiers.

est là que réside le problème maintenant.

Quand je veux ajouter un fichier ou un dossier / home / site1, dire Bobs_file, il ressemble alors à cette

drwxrwxr-x .
drwxrwxr-x ..
drwxr-xr-x Bob   dev   bobs_folder
drwxrwxr-x site1 site1 my_test_folder
-rw-rw-r-- Bob   dev   bobs_file
-rw-rw-r-- site1 site1 my_test_file

Comment puis-je obtenir de sorte qu'avec l'ensemble des autorisations utilisateur Bob dispose, pour changer le propriétaire et le groupe de ce fichier pour refléter « site1 » « site1 ». Comme Bob fait partie I Dev peut définir les autorisations correctement avec chmod, mais il semble chgrp jette en arrière des erreurs de fonctionnement.

Maintenant, cela a été assez longtemps poussif pour donner un aperçu de ce que je suis en train d'accomplir, juste Incase je vais sur ce cul-over-tit et il y a une solution beaucoup plus facile. Voici mes objectifs

  • 2 personnes à mettre à jour
  • plusieurs comptes d'utilisateur spécifié étant donné la structure GSE
  • Essayer de conserver les autorisations utilisateur / groupe maître de fichier et des dossiers sur le compte d'utilisateur d'origine, et non le compte de la updatee.
  • J'aime la sécurité de SVN + SSH sur seulement SVN.
  • Vous ne voulez pas courir tout cela sur la racine.

J'espère que ce sens fait, et merci à l'avance:)

Était-ce utile?

La solution

Essayez:

$ chown -R site1:site1 /home/site1

Cela récursive changer tous les fichiers dans ce répertoire à la propriété de l'utilisateur « site1 » dans le groupe « site1 ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top