Le autorizzazioni di lettura solo consentono di salvare

Ho una situazione di permessi strano che non posso spiegare. Permettethemes di spiegare i miei utenti e il gruppo e mostrare le autorizzazioni per le cartelle.

drwxrwsr-x. 2 jenkinsuser applog 4096 Jul 15 09:56 . drwxrwxr-x. 13 jenkinsuser jenkinsuser 4096 Jul 15 09:40 .. -rw-r--r--. 1 apache applog 750409 Jul 15 09:56 application.log 

Ho 2 utenti apache e jenkinsuser. Entrambi sono separati dal gruppo chiamato applog. Ho una cartella di registro con le autorizzazioni mostrate in precedenza. La cartella ha l'SGID impostato in modo che tutti i nuovi file abbiano il gruppo impostato su applog. Come si può vedere il file application.log ha rw-r -r– impostato per il file, che capisco come l'utente apache è l'unico utente che può scrivere al file.

  • Le pratiche migliori per la delega di Active Directory
  • Come posso impostare il formato della data in ISO globalmente in Linux?
  • L'aggiornamento da zfs-0.6.2-1.el6.x86_64 a zfs-0.6.3-1.el6.x86_64 ha creato by zpool unreadable
  • Quali strumenti di row di command per monitorare l'attività di networking host su Linux utilizzi?
  • Inheritere o impostare le autorizzazioni per tutti i nuovi file in un path specifico
  • Il traffico di return di return per correggere il gateway dipende dal servizio
  • Come jenkinsuser sono in grado di aprire il file con vi / vim in base al fatto che applog ha l'accesso di sola lettura. Quando lo salvo (es: w all'interno di vi) dice che 'readonly' option is set (add ! to override) . Quando forza la salvataggio (es .: w! All'interno di vi) salva con le nuove autorizzazioni mostrate di seguito.

     drwxrwsr-x. 2 jenkinsuser applog 4096 Jul 15 11:24 . drwxrwxr-x. 13 jenkinsuser jenkinsuser 4096 Jul 15 09:40 .. -rw-r--r--. 1 jenkinsuser applog 750448 Jul 15 11:24 application.log 

    Quindi la mia domanda è, perché la forza jenkinsuser salva il file se non ha accesso di scrittura ad esso? Che cosa mi manca?

    One Solution collect form web for “Le autorizzazioni di lettura solo consentono di salvare”

    vi ha eliminato il vecchio file e ha scritto un nuovo con lo stesso nome. Hai l'authorization a rimuovere il vecchio file, perché hai l'accesso di scrittura alla directory che lo contiene. Per rimuovere il file, si modifica (scrive a) l'inode della directory eliminando il riferimento al file esistente. Quando il count di riferimento del file va a zero, il file system libera quindi l'inode e lo spazio del file. A questo punto scrivi nuovamente la directory inode aggiungendo il nuovo file.

    Per evitare che ciò accada, è necessario rimuovere l'authorization di scrittura nella directory.

    Tieni presente che puoi anche avere alcune ACL nel file e nella directory che sovrascrivono le autorizzazioni che hai in ls -l . Vedi il . a destra delle autorizzazioni in each row della quotazione? Ciò dimostra che alcuni ACL sono attivi. Per vederli eseguire getfacl /dir/name .

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.