2012-06-04 17 views
6

Ho creato un build Jenkins per compilare e distribuire alcuni moduli. L'output dei comandi di compilazione (ad esempio, make o ant) viene reindirizzato a un file denominato build.log.Jenkins: autorizzazione negata a un file 777

La cosa divertente è che il reindirizzamento echo nello stesso file, utilizzando tee, fallisce: esiste

tee: ../../build.log: Permission denied 

Il file e ha 777 permessi (controllato con ls -ltrh ../..). Qualche idea su cosa c'è di sbagliato in questa scrittura?

+2

Sei sicuro che il percorso della directory abbia le autorizzazioni appropriate? Non solo il file? – sjakubowski

+0

Sei sicuro che l'utente che esegue jenkins sia quello con il permesso 777? –

risposta

13

Le autorizzazioni su un file sono importanti, ma lo sono anche le autorizzazioni sulle super directory di quel file.

Se non si dispone di autorizzazioni di lettura ed esecuzione sulle directory in cui si sta attraversando, non è possibile seguire il percorso relativo del file. Se non si dispone delle autorizzazioni di lettura nella directory "build.log", non è possibile elencare i file in tale directory. Leggere, scrivere ed eseguire i permessi non importa per le directory, e grosso modo mappano:

  • Leggi = permette elenco di file
  • Write = permette di creare/cancellazione/files Modifica
  • Esegui = Permette di cambiare directory a questa directory
Problemi correlati