Domanda

Ho un wiki personale sul quale prendo appunti. Le pagine del wiki si trovano in una directory di copia di lavoro sovversiva, "pagine", e ho impostato le autorizzazioni su 664, di proprietà di www-data: www-data. Il mio nome utente si trova in " www-data " gruppo, così posso fare il check-in e pasticciare manualmente le pagine.

Per un po ', ho avuto un problema perché ogni volta che eseguivo un check-in, i file sarebbero stati di mia proprietà: www-data anziché www-data: www-data, e non sarei più in grado di cambiare il file wiki attraverso la mia interfaccia web! Ho risolto il problema lanciando il bit setgid nelle pagine "quot". directory, ma sono ancora confuso sul perché ciò sia accaduto in primo luogo:

Ogni volta che controllo qualcosa in sovversione, sembra che svn lo elimini e lo ricrea. Perché? Questo comportamento supporta alcune funzionalità di cui non sono a conoscenza? C'è un modo per cambiarlo?

Grazie!

È stato utile?

Soluzione

Imposta " appiccicoso " bit di autorizzazioni.

find -type d -exec chgrp www-data {} + 
find -type d -exec chmod g+s {} + 

questo incoraggerà la fase di creazione del file di checkout ad ereditare i permessi delle directory invece di passare alla persona che lo ha modificato per ultimo.

Modifica : dow + s == setgid. Informazioni lasciate qui per i posteri e altri lettori.

Altri suggerimenti

Penso che lo stia usando male. Quello che potresti fare è comunque avere tutto in sovversione e avere la tua copia di lavoro locale separata dalla directory www su cui sviluppi.

Quindi basta aggiornare automaticamente la copia di lavoro www (o esportarla se non si desidera che le directory .svn in www foldeR) per l'utente www da qualche script (forse come post-commit hook) che quindi imposta le autorizzazioni di conseguenza.

Il flusso di lavoro sarebbe:

  1. modifica i file in / home / youruser / yourwiki-working-copy /
  2. esegue svn commit
    • l'hook post-commit aggiorna i file in / var / www / (o ovunque si trovi il wiki)
  3. vai a 1.

In questo modo, non devi preoccuparti delle autorizzazioni e puoi persino avere più di una persona che lavora sul sito web con tutti i vantaggi del controllo della versione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top