chmod + x: afeta o arquivo em um sistema operacional ou em todos os sistemas operacionais

0

Por exemplo, eu tenho um arquivo chamado run.sh . Eu quero fazer este arquivo executável, então eu corro:

chmod +x run.sh

Minha pergunta é:

  • Esse comando torna esse arquivo executável. Então, se eu levar este arquivo para outro sistema operacional, ele será ainda executável?
  • Se ainda for executável, por que as pessoas não tornam isso executável antes de enviar para outro lugar?

Eu pergunto isso, porque como eu testei no ambiente Docker, vejo que: Eu faço arquivo executável no ambiente host será afetado no ambiente docker.

Obrigado

    
por hqt 13.04.2018 / 18:10

2 respostas

2

As permissões dos arquivos são mantidas em disco, portanto, quando você define o bit executável de um arquivo, ele é armazenado no disco. Se você "trouxer o arquivo para outro sistema operacional" movendo o disco ou apenas inicializando um sistema operacional diferente, os metadados para o arquivo serão os mesmos.

No entanto, se você, por "bring", indicar alguma operação como scp ou algum outro mecanismo de transferência de arquivos, eles normalmente não carregam metadados como tempos de modificação ou permissões . Você pode fazer isso com e. g. %código%. Do manual:

 -p      Preserves modification times, access times, and modes from the original file.

"modos" aqui são comumente referidos como permissões (na verdade, scp -p é a abreviação de "modo de mudança", afinal). Presumindo que o sistema de arquivos no destino para a operação de cópia saiba o que fazer com esses metadados, ele ainda teria as mesmas permissões no novo host.

    
por 13.04.2018 / 18:19
0

So if I bring this file to different OS, will it still executable ?

Isso dependerá da maneira de trazer (ou seja, levar o FS ao armazenamento remoto não suporta sinalização de execução).

If is still executable, so why don't people make it executable before sending somewhere else ?

Talvez algumas pessoas conheçam seu comportamento e não façam isso dessa maneira.

    
por 13.04.2018 / 18:22

Tags