FTP compartilhado do Linux: um arquivo não deve ser excluído

2

Dois usuários:

A1:x:1001:1002::/home/A1:/bin/sh
A2:x:1002:1002::/home/A1:/bin/sh

Um grupo:

A1:x:1002:

servidor FTP: nova instalação do ProFTPd SO: nova instalação do Ubuntu Server 12.04

Uma pasta (/ home / A1) que desejo tornar compartilhada entre A1 e A2:

/home/A1: A1:A1 rwxrwxr-x
/home/A1/B1.txt: A1:A1 rw-rw-r--
/home/A2/B2.txt: A1:A1 rw-r--r--

O que eu quero:

  • B1.txt para ser modificável por A1 e A2
  • B1.txt para ser modificável por A1, mas não por A2, então A2 só poderia lê-lo.

Quando eu me conecto ao FTP agora, o A2 pode modificar qualquer coisa e eu realmente não entendo isso. Se eu remover a permissão de gravação em grupo de / home / A1 (então rwxr-xr-x) A2 não poderá modificar nada.

O que eu faço de errado?

    
por Thomas 18.09.2013 / 14:22

2 respostas

1

O upload de um arquivo funciona criando um novo arquivo temporário e movendo-o para o lugar, não sobrescrevendo o arquivo existente. Isso ocorre porque se a conexão foi perdida no meio de sobrescrever o arquivo, você ficaria com um arquivo incompleto.

Fazer upload de um novo arquivo, remover um arquivo existente e fazer o upload de uma nova versão de um arquivo existente, todos exigem acesso de gravação apenas ao diretório. As permissões no arquivo existente, se houver, não importam. Assim A2 pode igualmente modificar B1.txt e B2.txt .

Se você precisar de permissões diferentes para atualizar esses dois arquivos, coloque-os em diretórios diferentes com permissões diferentes.

Se você precisar que os dois arquivos estejam disponíveis no mesmo diretório, crie B1.txt um link simbólico para writable-by-A2/B1.txt , em que writable-by-A2 é um diretório no qual A2 tem permissão de gravação.

    
por 19.09.2013 / 02:25
0

Qual mensagem de erro você está recebendo?

Se o erro for "Sobrescrever permissão negada", será necessário ativar a substituição no seu proftpd.conf . Por padrão, ele foi desativado.

Para fazer isso, adicione:

AllowOverwrite yes

para a seção <Global> (isso permitirá a substituição em qualquer lugar permitido pelas permissões de arquivo) ou para uma seção <Directory /home/A1> (isso permitiria a substituição apenas nesse diretório e somente se as permissões de arquivo permitissem). / p>

Se esta não for a mensagem de erro, adicione mais detalhes à sua pergunta - a mensagem de erro pelo menos e, de preferência, uma extração de log.

    
por 18.09.2013 / 14:52