Movendo arquivos entre diretórios iniciais

Movendo arquivos entre diretórios iniciais

Bom dia,

Estou tentando configurar um cron job em minha máquina CentOS que transferirá um arquivo do diretório inicial de um usuário para um diretório de outro.

btiseis@mymachine [~]# mv ./myfile.csv /home/mmh/tmp

Garanti que o diretório tmp tenha permissões 0777, mas ainda recebo a seguinte mensagem de erro:

mv: accessing '/home/mmh/tmp': Permission denied

Presumo que esse problema se deva à transferência do arquivo entre diretórios pessoais.

Alguma ideia?

Dan

Responder1

Os diretórios iniciais não são nada de especial; são apenas os usuários que os nomeiam assim. Nada em um sistema se importa se um diretório é considerado um “diretório inicial” para um usuário.

Você precisa de permissões em todos os diretórios. Portanto, você precisa de permissão de gravação em /home/mmh/tmp e leitura + execução em /home/mmh (embora ler ou executar sejam suficientes, mas não tenho certeza de qual. Mas geralmente ler e executar são definidos ou não definidos para diretórios) para que você possa realmente acessar o /home/mmh/tmp dentro.

Você poderia contornar tudo isso se executasse o cronjob como root; geralmente não é uma boa ideia ampliar as permissões de acesso, a menos que seja absolutamente necessário. Pode ou não ser um problema no seu caso (suponho que não haja outros usuários), mas é difícil eliminar maus hábitos mais tarde.

EDIT: se os dois usuários forem "amigáveis" (como duas encarnações de você mesmo, então você realmente não se importa com o outro cara bisbilhotando seus dados), você pode adicionar o grupo principal do usuário "alvo" à lista de grupos do usuário "enviador" e usar permissões de grupo. Em muitos sistemas, cada usuário é criado com seu próprio grupo privado.

informação relacionada