Criar arquivo na pasta: permissão negada

33

Eu tenho um problema ao copiar arquivos para um diretório no Ubuntu 12.04. Eu crio um diretório no diretório home para que o caminho para onde eu queira copiar seja:

/home/sixven/camp_sms/inputs

Mas quando ini executa o seguinte comando no terminal para criar um arquivo de exemplo da seguinte forma:

francisco-vergara@Francisco-Vergara:/home/sixven/camp_sms/inputs$ touch test_file.txt
touch: can not make 'touch' on «test_file.txt»: permission denied

Eu não posso copiar arquivos diretamente nesse diretório. Como posso atribuir permissões com o chown & chmod comandos para copiar os arquivos?

Eu não sei qual usuário e grupo usar.

    
por franvergara66 12.03.2014 / 16:51

3 respostas

44

Primeiro de tudo você tem que saber que a permissão padrão de diretórios no Ubuntu é 644, o que significa que você não pode criar um arquivo em um diretório que você não é o proprietário.

você está tentando como user:francisco-vergara criar um arquivo em um diretório /home/sixven/camp_sms/inputs , que pertence a user:sixven .

Então, como resolver isso:

  1. Você pode alterar a permissão do diretório e permitir que outras pessoas criem arquivos dentro dele.

    sudo chmod -R 777 /home/sixven/camp_sms/inputs
    

    Este comando irá alterar a permissão do diretório recursivamente e permitir que todos os outros usuários criem / modifiquem e excluam arquivos e diretórios dentro dele.

  2. Você pode alterar o proprietário deste diretório e fazer user:francisco-vergara como proprietário

    sudo chown -R francisco-vergara:francisco-vergara /home/sixven/camp_sms/inputs
    

    Mas assim, o user:sixven não pode escrever nesta pasta novamente e, portanto, você pode mover-se em um loop circular infinito.

Então eu aconselho você a usar a Opção 1.

Ou se este diretório for acessado por ambos os usuários, você pode fazer o seguinte truque:

altere a propriedade do diretório para user:francisco-vergara e mantenha o proprietário do grupo group:sixven .

sudo chown -R francisco-vergara /home/sixven/camp_sms/inputs

Assim, os dois usuários ainda podem usar o diretório.

Mas, como eu disse antes, é mais fácil e mais eficiente usar a opção 1.

    
por 15.03.2014 / 14:21
10

Para alterar a propriedade do arquivo, faça isso como root:

chown -R user:user /home/sixven

Se você decidir seguir o caminho chmod:

Se você souber que o usuário faz parte do grupo do arquivo

chmod -R g+rw /home/sixven

Caso contrário:

chmod -R o+rw /home/sixven

Mas este caminho não é muito seguro.

    
por 12.03.2014 / 19:20
1

O UMASK 022 padrão (no Ubuntu), então as permissões para / home / username tornam-se 755. e você logou como usuário francisco-vergara e tentando criar arquivos no usuário sixyen Home: por exemplo, /home/sixven . ele não tem permissão de gravação para Outros usuários Apenas Usuário / Grupo de sixven tem acesso de gravação.

se você quiser acesso de gravação nesse diretório, precisará fazer parte do grupo sixven usando usermod -G sixyen francisco-vergara OR chmod -R 777 /home/sixven (não use a prática ruim).

    
por 12.03.2014 / 18:05

Tags