Eu tenho um servidor SFTP e posso enviar arquivos para ele, digamos, user1. Tenho outro usuário (usuário2) nesse servidor e quero poder remover/modificar arquivos carregados na pasta sftp configurada do usuário1.
O que tentei foi adicionar o usuário2 ao grupo do usuário1. Assim posso ler os arquivos carregados, mas obter "permissão negada" na remoção de arquivos como usuário2.
A saída dos ls -l a
arquivos carregados é:-rw-r--r-- 1 user1 user1 400691 Jul 1 12:16 114.xlsx
A saída do comando groups user2
éuser2: user2 user1
Como permito que o usuário2 exclua esses arquivos enviados?
ATUALIZAR
Descobri que a pasta de upload (digamos/data/uploads) pertence ao usuário1, mas o grupo é root. Esse pode ser o motivo pelo qual não consigo gravar (excluir) nessa pasta. Mudar o grupo para user1 ajudará? Isso afetará o servidor SFTP de alguma forma?
Primeiro defina seu modelo de permissões.
Não sei qual deveria ser o seu modelo de permissões, mas CERTAMENTE não deveria ser esse. Há uma razão para que um grupo seja criado para cada usuário no Linux - isso deve ser exclusivo, exceto em alguns casos extremos muito raros.
Para fins de ilustração, criarei um novo grupo contendo os usuários nomeados. O novo grupo é chamado de docusers:
Em seguida, você deseja que os arquivos enviados sejam graváveis pelo grupo. Você provavelmente está usando o openssh como seu servidor ssh/sftp; nesse caso, você precisa editar /etc/ssh/sshd_config, encontrar a linha que contém
sftp-server
e adicionar-u 002
, por exemploEm seguida, reinicie seu servidor ssh (
systemctl restart ssh-server
).Então você precisa alinhar os arquivos e diretórios existentes com o modelo de permissão:
Agora você precisa informar ao sistema qual grupo ele deve usar para novos arquivos: