Não é possível abrir o arquivo de saída: Permissão negada

4

então eu sou completamente novo no Ubuntu. Eu configurei uma pasta compartilhada com alguns programas c e quando vou compilar no Ubuntu, como:

gcc file.c -o fileTest

Eu recebo o seguinte erro:

/usr/bin/ld: cannot open output file fileTest: Permission denied
collect2: error: ld returned 1 exit status

Tenho certeza de que minhas permissões para os arquivos C estão corretas, todos os arquivos têm permissões 'rwx'.

Também preciso alterar a permissão do diretório?

Sou um newb completo, então peço desculpas.

    
por user282094 15.05.2014 / 23:56

1 resposta

6

Sim, você também precisa alterar as permissões do diretório.

Isso porque, se você só tiver permissões de gravação para os arquivos dentro do diretório, não poderá simplesmente criar um novo arquivo porque não tem permissões de gravação para esse arquivo (ele não existe, portanto, não há permissões para criá-lo).

Se você tiver permissões de gravação para o diretório, poderá criar um arquivo dentro dele, porque você tem permissões de gravação para o próprio diretório.

Para se tornar o proprietário (forma de terminal):

  1. Verifique seu nome de usuário:

    whoami
    
  2. Torne-se o proprietário do diretório e seu conteúdo:

    sudo chown -R "$USER:" /path/to/the/directory
    

    O sinal -R significa recursivo, de modo que o diretório e todos os seus subarquivos e subdiretórios mudarão de proprietário. Remova o sinalizador -R para apenas alterar as permissões do próprio diretório.

Agora, você deve conseguir criar arquivos ou diretórios, porque agora é o proprietário do diretório e todo o seu conteúdo. Se ainda não conseguir, conceda ao proprietário permissões de gravação para o diretório e seu conteúdo usando o seguinte comando:

chmod -R 700 /path/to/the/directory
    
por Louis Matthijssen 16.05.2014 / 00:05