Como faço qualquer arquivo recém-criado em um diretório específico executável, legível e gravável por padrão por todos os usuários?

0

A pergunta que não consigo encontrar é a seguinte: Como faço para que qualquer arquivo recém-criado em um diretório específico seja executável, legível e gravável por todos os usuários.

Portanto, eu tenho um NFS, um aplicativo executando como raiz em um servidor, o aplicativo produz arquivos de texto no diretório montado e outro processo em execução na instância do Windows Server que também consome esses arquivos. Para consumir arquivos, o processo requer que esses arquivos tenham permissões de leitura, gravação e execução. A motivação é: como faço para que todos os arquivos criados pelo usuário root tenham permissões de rwx por padrão?

Coisas que encontrei e tentei: 1. Alterando o arquivo / etc / export onde as configurações do NFS residem. Infelizmente este não funciona. 2. Alterando o umask para raiz. E, tanto quanto eu sei, não é possível habilitar permissões 777 usando umask e você só pode subtrair 666 permissões. 3. Definir um crontab que alteraria as permissões periodicamente. Isso não será suficiente, pois a operação que requer permissões acontece apenas uma vez e, sem permissões, os blocos de processo do Windows.

    
por mrrobot1337 20.08.2018 / 19:19

1 resposta

0

how do I make all files created by root user have rwx permissions by default?

Eu usaria inotify . Algo parecido com isto:

inotifywait -m $directory -e create |
    while read path action file; do
        if [[ $(stat --format %U "$file") == root ]]; then
            chmod 777 "$file"
        fi
    done

Embora eu seja um pouco alérgico a configuração de arquivos para rwx para all devido a implicações de segurança.

Página man online para inotifywait aqui .

    
por 20.08.2018 / 21:37