7
votes

Autorisation non maintenue pour les fichiers nouvellement créés lors de l'utilisation de Vagrant

J'utilise Vagrant avec une boîte précise64 et un projet Laravel 4. J'ai défini un dossier de stockage pour être écritable (777 ne fonctionne que pour moi) et chaque fois qu'un nouveau fichier créé, session par exemple, j'ai besoin de définir manuellement le nouveau fichier pour être écritable.

Y a-t-il une option pour Définissez les fichiers nouvellement créés pour être écritable afin d'empêcher ce type de problème dans le futur?

EDIT: Voici un exemple de sortie LL -LA sur le dossier de session contenant une nouvelle session (effectuée à partir de la case Vagrant. ), peut-être que ça va aider. xxx


4 commentaires

Pouvez-vous nous montrer le résultat de la commande (après l'assignation dans votre boîte à votre vagabond) ll -la dans le répertoire avec les fichiers après leur création récemment?


J'ai édité la question et ajouté ce que vous avez demandé.


Qu'entendez-vous par dossier de stockage ? Voulez-vous dire que a synchronisé le dossier ?


Le dossier de stockage n'est qu'un dossier du cadre de Laravel 4 qui devait être écritable.


5 Réponses :


0
votes

Si vous parlez de dossier partagé code> ou dossier synchronisé code>, vous pouvez utiliser des arguments facultatifs pour contrôler l'autorisation:

# File 'lib/vagrant/config/vm.rb', line 53

def share_folder(name, guestpath, hostpath, opts=nil)
  @shared_folders[name] = {
    :guestpath => guestpath.to_s,
    :hostpath => hostpath.to_s,
    :create => false,
    :owner => nil,
    :group => nil,
    :nfs   => false,
    :transient => false,
    :extra => nil
  }.merge(opts || {})
end


1 commentaires

Je n'ai pas aidé, je continue à obtenir des problèmes d'autorisation sur de nouveaux fichiers créés par le «système» tel que des fichiers de session.



3
votes

J'avais une question très similaire, éventuellement la même, la question des autorisations. Je pourrais afficher le site une fois, puis toutes les demandes suivantes entraîneraient une erreur d'autorisation.

Essayez d'ajouter le code suivant à votre VagrantFile: P>

# Set the ownership of the app/storage directory
config.vm.synced_folder "app/storage", "/vagrant/app/storage", :owner => 'www-data', :group => 'www-data'


1 commentaires

Malheureusement, ça ne m'ade pas. Peu importe ce que j'essaie comme pour le nom / nom de groupe (essayé mon utilisateur comme dans mon hôte), rien ne fonctionne, mais Vagrant en tant que propriétaire et groupe. qui me donne le même problème. Tout autre propriétaire ou résultat de groupe: La commande SSH suivante a répondu avec un statut de sortie non zéro.Vagrant suppose que cela signifie que la commande a échoué!



0
votes

Changez-le afin que vous synchronisez l'ensemble du dossier de l'application Laravel. Pas seulement le répertoire de stockage spécifique. J'ai eu le même problème que vous, je faisais seulement synchroniser le Dir de stockage. Laravel a été capable de créer un nouveau fichier dans la session Dir, mais plus tard ne pouvait pas écrire au fichier qu'il vient de faire.

Voici ma nouvelle config xxx


0 commentaires

0
votes

Pour quiconque peut rechercher cette question mais qu'il s'agit de ce problème lors de l'utilisation de VirtualBox forte> (et vous utilisez des dossiers partagés):

// Get your user id,gid (in this case I'm root):
# id
uid=0(root) gid=0(root) groups=0(root)

// Add apache to vbox group
usermod -a -G vboxsf apache

// Get apache's id,gid
# id apache
uid=48(apache) gid=48(apache) groups=48(apache),499(vboxsf)

// Update fstab mount to use these id,gid
# vi /etc/fstab
      [ add this line to the file ]
      shared-name  /path/to/guest/shared/folder/here  vboxsf  rw,uid=0,gid=0,uid=48,gid=48  0  0


0 commentaires

2
votes

Définissez votre utilisateur Apache et votre groupe sur Vagrant. Dans Ubuntu, Edit / etc / Apache2 / envvars et Modifient xxx

à xxx


2 commentaires

Cela semble corriger des problèmes constants avec une maison de famille lorsque vous installez Apache à l'intérieur. Avec le fichier Homestead.YAML, vous ne pouvez pas définir le «propriétaire» et «groupe»


Oui! Toutes les autres solutions suggérées Chmod à 77x. C'est la seule solution qui a fonctionné pour moi, merci!