Problema de permissão de pasta

0

Por favor, não considere isso como duplicado. Eu criei uma pasta como root no diretório / tmp / test / bem como algumas subpastas também. Eu mudei a permissão para ler e escrever para todos os usuários e grupos, incluindo a raiz.

$ sudo chmod -R 666 /tmp/test/

na emissão do %código% Eu fico assim, aqui eu sou incapaz de criar um novo arquivo ou diretório.

$ printf 'test' >/tmp/test/sp/test

bash: / tmp / test / sp / test: permissão negada Parece confuso para mim.

    
por Shameerariff 16.10.2017 / 18:19

2 respostas

5

Os diretórios exigem o sinalizador de executável, portanto, tente sudo chmod -R 776 /tmp/test .

Linux / Unix requer o bit de execução para que o usuário entre em um diretório e acesse seu conteúdo, o que inclui listar o que está dentro dele. As flags de execução de diretório se comportam de maneira diferente do sinalizador de leitura de um arquivo.

Os arquivos dentro podem ser 666 , no entanto.

    
por Dorian 16.10.2017 / 18:25
3

As permissões de diretório são um pouco diferentes das permissões de arquivo padrão. Em vez de ler / escrever / executar como um arquivo, os bits de permissão do diretório são da seguinte forma :

% bl0ck_qu0te%

Observe que, para diretórios, a permissão w não entrará em vigor, a menos que x seja também definido.

No seu caso, a sua permissão está definida para o bit 6 ( rw- ), que tem os seguintes efeitos:

  • Você pode ver o conteúdo da pasta especificada
  • Você não pode ver os metadados da pasta
  • Você não tem permissão para cd nessa pasta ou em qualquer pasta filha
  • Você não pode editar os metadados (como x não é concedido)
  • Você não tem permissão para abrir nenhum arquivo nessa parte da árvore de diretórios

Para corrigir isso, basta adicionar novamente o x bit ao arquivo:

chmod a+x /path/to/file

É também por isso que a permissão de pasta padrão é 0755 ou 0775 , enquanto os arquivos tendem a ser 0644 ou 0664 : pastas, ao contrário dos arquivos, são efetivamente inúteis sem x .

    
por Kaz Wolfe 16.10.2017 / 18:38