Ubuntu: não é possível copiar o arquivo para dir criado sob as mesmas credenciais

0

Eu sou o Windows 7 para o Ubuntu 12.04.2 LTS

Eu sou novo no Ubuntu (e * nix em geral) e preciso entender como as permissões são atribuídas aos diretórios recém-criados.

Através da sessão ssh Putty:

$bash
myaccount@mybox:/$ cd /etc/puppet
myaccount@mybox:/etc/puppet$ sudo mkdir device
myaccount@mybox:/etc/puppet/device$ 
myaccount@mybox:/etc/puppet/device$ ls -ld
drwxr-xr-x 2 root root 4096 Jul 2 17:57

Em seguida, via sessão WinSCP (modo SCP, também logado como myaccount @ mybox) Eu tento copiar um arquivo para / etc / puppet / device

No entanto, esta operação falha com um erro exibido no pop-up:

Error
Copying file 'myfile' failed.
scp: /etc/puppet/device/myfile: Permission denied

Parece lógico para mim que, se minha conta receber direitos suficientes para criar um diretório, ele também deverá ter direitos para copiar um arquivo para esse diretório?

Ou a criação de diretórios e arquivos em movimento se enquadra em papéis separados?

NOTA: Se você estiver indo para baixo no meu post, por favor, explique por que em um comentário. Apenas anonimamente down-ticking não me ajuda a entender como funcionam esses fóruns. Parece que estou jogando pelas regras, detalhes completos, acompanhamento de comentários, etc.

    
por BaltoStar 04.07.2013 / 06:13

2 respostas

2

Espero não ter esquecido nada:

  • Você usou sudo para criar um diretório
  • Seu ls afirma claramente que o diretório é de propriedade do root
  • Ao tentar copiar arquivos para essa pasta como usuário "myaccount", você é negado

Esse é um comportamento normal. Você tem as seguintes opções:

  • Conceda acesso de gravação a "outros" (chmod o + w / etc / fantoche / dispositivo = > muito má ideia)
  • Crie um grupo, por exemplo chamado "adm-puppet" e adicione todos os usuários autorizados a criar arquivos nesse diretório e o usuário marionete. Em seguida, altere a propriedade do grupo para esse grupo
  • Adicionar usuários autorizados a gravar arquivos nesse diretório para o grupo de fantoches existente
  • Use ACL estendidos s
por 04.07.2013 / 13:46
0

Quando você usa o sudo para criar um arquivo ou um diretório, você está executando o comando como root, então o arquivo será, obviamente, de propriedade do root.

Se você não puder criar o arquivo / diretório (dica secundária: os diretórios são apenas arquivos especiais) como o usuário normal, o root poderá "dar" para o usuário normal com chown (syntax chown user:group file ). / p>

Se vários usuários precisarem de acesso de gravação ao arquivo, mas não todos, você precisará usar um grupo; Se você não acha que um grupo é necessário, você pode usar o grupo com o nome do usuário que geralmente existe (root e nobody são escolhas ruins nessa situação, e é por isso que os usuários geralmente também têm grupos individuais).

Se você usar um grupo com vários usuários, também precisará alterar as permissões para conceder acesso de gravação ao diretório para o grupo. O acesso de gravação a um diretório significa a capacidade de criar e remover arquivos nele (executar é transversal e ler é o conteúdo da lista). Faça isso com chmod g+w dirname .

    
por 05.07.2013 / 13:31