Move o arquivo para o diretório pessoal de outro usuário (sem sudo)?

2

Eu tenho alguns arquivos que desejo mover para o diretório inicial do usuário de outro usuário. Eu não tenho permissão para escrever no diretório pessoal do usuário, mas sei sua senha.

Eu sei como copiar o arquivo usando scp (veja aqui ). No entanto, se eu quiser mover o arquivo, copiar e remover o arquivo original será ineficiente. Existe uma maneira de mover o arquivo, sem usar sudo (não sei a senha da raiz)?

    
por becko 19.02.2015 / 20:04

2 respostas

3

Sujeito a certas suposições de que o usuário de destino pode realmente acessar o arquivo em seu local original, a seguinte abordagem poderia funcionar:

SRC='/path/to/existing/file'
DST='/path/to/new/file'

su target_user sh -c "ln -f '$SRC' '$DST'" && rm -f "$SRC"

Isso "move" o arquivo para a localização do novo usuário, mas não altera a propriedade nem as permissões.

    
por 20.02.2015 / 00:34
0

Você pode su para qualquer usuário, se souber sua senha. (para o sudo você precisa ser um sudoer e saber sua própria senha).

Portanto, torne os arquivos legíveis e o diretório gravável (para exclusão) pelo outro usuário, adicione arquivos a um grupo compartilhado ou use listas de controle de acesso (ACLs) setfacl (Quais são as diferentes maneiras de definir permissões de arquivo, etc. no gnu / linux )

Então su other user Então faça o movimento.

Veja também a resposta do @roaima sobre como fazer isso sem conceder acesso de gravação ao usuário.

    
por 20.02.2015 / 00:32