Per oltre un anno, ho avuto problemi con le autorizzazioni GIT e directory/file. Ho un repository centrale al quale più sviluppatori spingono il codice, usando ssh (origine impostata come ssh: // esempio/git/repository). Ho installato il repository come segue:La proprietà/il gruppo di file viene modificata quando gli utenti eseguono il push su un repository GIT
1) Il mio file di configurazione nel repository centrale: [core] repositoryformatversion = 0 fileMode = true nudo = true sharedrepository = 0660
2) Tutti i permessi della directory di repository sono impostati su 770 (rwxrwx ---) 3) Tutti i file in ./objects/XX e ./objects/info sono impostati su 440 (r - r -----) 4) Tutti gli altri i file sono impostati su 660 (rw-rw ----) 5) La proprietà è impostata su root: group_name
(notare che questo proviene dalla configurazione consigliata nella risposta più alta in questo thread: Making git push respect permissions?)
Tutti gli utenti che accedono sono membri del gruppo 'nome_gruppo'.
Il problema è che se l'utente1 invia il repository, la proprietà del file su alcuni file è impostata su user1: user1 - ovvero il gruppo viene modificato. Quando ciò accade, nessun altro utente può spingere (o tirare) dal repository, poiché non ha più il permesso di leggere, scrivere o eseguire dai file richiesti nel repository.
Ho letto tutti i thread che riesco a trovare sulla questione su Stack Overflow e praticamente ovunque sulla rete, ma continuo a imbattersi in questo stesso problema.
Il problema è che non sono sicuro che questo problema riguardi GIT o UNIX e non sono sicuro di come risolverlo. Come posso impedire che il gruppo venga modificato quando un utente invia al repository?
Come ... stai spingendo? Con quali autorizzazioni utente stai facendo questo? – Makoto
Spingere utilizzando: git push Stiamo spingendo attraverso ssh. Ogni utente sta inserendo il server nel proprio account utente UNIX. Ad esempio, sono utente shiro sul server. Le credenziali di accesso che sto utilizzando per SSH sono per utente shiro. L'utente shiro fa parte del gruppo shirogroup. La proprietà del file è root: shirogroup. Questo risponde alla tua domanda? – Shiro
Ho suphp sul mio server - è possibile che questo sia ciò che sta alterando i permessi dei miei file, e non GIT? – Shiro