WinSCP clobbers permission & group on replace

2

Existe uma maneira de dizer ao winscp para manter o grupo e permissão do meu arquivo de upload? Estou cansado de modificar páginas da web / binários webapp e precisar alterar o grupo para www-data para que o servidor possa lê-los.

Se não é o aplicativo que eu posso usar em vez disso? Eu uso principalmente o winscp para facilitar a cópia / colagem de arquivos no meu servidor linux e a facilidade de navegar pelo sistema de arquivos (pode ir entre 2+ pastas em um segundo, sem erros de digitação)

    
por Martin Prikryl 30.12.2010 / 07:38

3 respostas

0

Defina o gid da pasta e deve agora manter o grupo para www-data, desde que o grupo pasta também é www-data

    
por 14.01.2011 / 06:04
2

Eu estou supondo que você está tendo o problema porque o WinSCP remove arquivos existentes antes de fazer o upload de novos - o que nunca deveria acontecer a menos que você não tenha as permissões 'write' no arquivo antigo, caso em que excluir e substituir é a única maneira de o WinSCP carregar seus arquivos.

Ao criar um novo arquivo no Linux, o grupo primário do criador será o grupo do arquivo 1 , e as permissões serão calculadas 2 usando (0666 & umask ). O proprietário pode modificar as permissões, mas só pode alterar o grupo do arquivo em um grupo ao qual ele pertence.

No caso de um site, geralmente, defino o setgid bit nos diretórios, para que todos os arquivos que eu criar sejam de propriedade desse grupo:

sudo chown -R :www-data public_html/
find public_html/ -type d -exec chmod g+s {} \;

Se o sistema de arquivos do servidor tiver as ACLs ativadas, você também pode especificar permissões padrão para o grupo:

setfacl -Rdm g::rX public_html

Ou você pode ignorar as etapas "setgid" e "chgrp" e apenas atribuir permissões padrão ao grupo desejado:

setfacl -Rm g:www-data:rX public_html
setfacl -Rdm g:www-data-rX public_html

(Os comandos com permissões -d set default .)

  1. A menos que o diretório tenha o bit setgid , o que faz com que os arquivos recém-criados herdam o grupo do diretório.
  2. Pode ser influenciado usando ACLs padrão no diretório.
por 30.12.2010 / 19:53
1

Você precisa configurar o WinSCP para não transferir para um arquivo temporário (que é renomeado para o nome do arquivo de destino). Em seguida, o WinSCP gravará diretamente no arquivo de destino e manterá as permissões / propriedade intactas.

Vá para as Preferências > Transferir > Resistência > Ativar transferência para o nome de arquivo temporário .

    
por 10.04.2013 / 16:10