Estou tentando criar um arquivo do meu código-fonte C no Linux. Estou usando o dd
comando para ler um arquivo e gravá-lo em um arquivo criando-o. Se eu não tiver permissões de execução (tenho permissões de gravação) para o diretório de destino (onde o arquivo será criado), não será possível criar o arquivo. Se eu tiver permissões de gravação e execução, ele poderá criar um arquivo.
Qual é a razão para isto?
Responder1
Quando definidos, os atributos de modo r, w e x têm o seguinte efeito em arquivos e diretórios:
- Atributo r (permissão de leitura):
Arquivos:Permite que um arquivo sejaabertoeler.
Diretórios:Permite que o conteúdo de um diretório seja listado. Para recuperar qualquer informação sobre os arquivos ou diretórios contidos,o atributo execute também deve ser definido.
- w Atributo (permissão de gravação):
Arquivos:Permite que um arquivo seja gravado ou truncado, porém este atributonão permite que arquivos sejam renomeados ou excluídos. A capacidade de excluir ou renomear arquivos é determinadapor atributos de diretório.
Diretórios:Permite que arquivos dentro de um diretório sejam criados, excluídos e renomeadosse o atributo execute também estiver definido.
- x Atributo (permissão de execução):
Arquivos:Permite que um arquivo seja tratado como um programa e executado. Arquivos de programas escritos em linguagens de scripttambém deve ser definido como legível para ser executado.
Diretórios:Permite que um diretório sejaentrou, por exemplo, diretório cd.
Referência: A linha de comando do Linux® William E. Shotts, Jr.
Eu recomendo a leitura deste livro ou da versão em PDF, que você pode baixar neste link:http://sourceforge.net/projects/linuxcommand/files/TLCL/13.07/TLCL-13.07.pdf/download
Responder2
O bit de execução em um diretório lhe dá a possibilidade de entrar/atravessá-lo. Portanto, é um pré-requisito criar um arquivo (caso contrário, você pode inseri-lo) também no seu caso.