O problema vem do fato de que chown
dará o arquivo ao usuário cujo UID local pertence a myuser
.
Digamos, por exemplo, na máquina local, você tem myuser
com o UID 1001, mas o UID 1001 pertence a otheruser
na máquina de distância.
Se você quisesse dar para myuser
no sistema remoto, você teria que:
- Sincronizar contas / UID em ambas as máquinas (o uso de um gerenciador de configuração centralizado pode ajudar);
- conheça o UID distante de
myuser
(usando, por exemplo,ssh root@distant id -u myuser
) e usechown
com esse UID.
Usando a segunda opção, você pode fazer por exemplo (usando o bash):
uid=$(ssh root@distant id -u myuser)
[[ -n $uid ]] && chown $uid. myfile || echo "No uid found. Not chowning"