Permissão negada ao copiar conteúdo de um arquivo para outro

0

Estou trabalhando como usuário "papagolf", que é um usuário sudo. Eu criei um novo grupo "hadoop" usando

papagolf@Sierra:~$ sudo addgroup hadoop

Criado um usuário "haduser"

papagolf@Sierra:~$ sudo adduser --ingroup hadoop haduser

Eu já criei chaves ssh no diretório .ssh do papagolf e copiei o arquivo de chave pública para este novo diretório

papagolf@Sierra:~$ cp hadoop_keys.pub /home/haduser/.ssh/

Criado um novo arquivo em .ssh / authorized_keys

papagolf@Sierra:~$ cd /home/haduser/.ssh/
papagolf@Sierra:/home/haduser/.ssh$ sudo touch authorized_keys

Agora eu queria copiar o conteúdo do arquivo .pub para authorized_keys , mas recebi um erro dizendo que a permissão foi negada. Eu me pergunto por que aconteceu mesmo quando sou um usuário sudo.

papagolf@Sierra:/home/haduser/.ssh$ sudo cat hadoop_keys.pub >> authorized_keys
bash: authorized_keys: Permission denied

Agora eu tentei isso e foi bem-sucedido

papagolf@Sierra:/home/haduser/.ssh$ sudo -i
root@Sierra:/home/haduser/.ssh# cat hadoop_keys.pub >> authorized_keys

Qual é a diferença? Por que o erro ocorreu?

    
por 7_R3X 19.09.2016 / 11:20

1 resposta

1

Na questão mencionada pelo Ipor Sircer, você descobrirá como alcançar seu objetivo.

Vou apenas adicionar uma breve explicação. O redirecionamento de fluxo (> > neste caso) é feito por um shell, não um processo executado com o sudo, portanto seu shell (o shell do papagolf) ainda não tem o direito de gravar em outro diretório do usuário. É por isso que as pessoas usam tee ou sed para fazer isso.

    
por 19.09.2016 / 12:35