
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.