Armazenando arquivos de texto dentro do diretório raiz

0

Atualmente, estou no diretório /bin . Eu estou tentando criar um arquivo de texto do conteúdo do /bin e direcione-o para ser armazenado em outro arquivo dentro do diretório /root . Eu digitei o comando ls -l >/directoryname/filename ainda não tenho permissões para executá-lo. Eu tentei inserir sudo antes do comando no entanto isso também não funciona. Alguém sabe como posso ganhar permissões para armazenar este arquivo? Seria muito apreciado, obrigado.

    
por Hann10 16.07.2015 / 14:09

3 respostas

7

Ao executar sudo ls > /root/out.txt , somente a parte ls do comando está sendo executada com privilégios elevados. Por causa disso, a parte de redirecionamento do seu comando não tem as permissões necessárias para acessar o local desejado.

Em vez disso, você pode usar tee prefixado com sudo da seguinte forma:

ls | sudo tee /root/out.txt

    
por 16.07.2015 / 14:14
3

Uma solução fácil para executar vários comandos com o sudo é a seguinte:

sudo bash -c 'command1;command2'

Para sua situação, isso funcionaria muito bem:

sudo bash -c 'ls -l >/directoryname/filename'

Isso, claro, é apenas quando você está usando o bash.

    
por 18.08.2015 / 18:17
-2

Se você inserir sudo chmod 777 /filename e, em seguida, executar isso, você terá permissões para executar os comandos que você tentou executar anteriormente. chmod 777 essencialmente dá a qualquer usuário permissões de leitura, gravação e execução neste diretório. Você pode alterar as permissões posteriormente, para que os usuários só possam ler ou gravar, por exemplo.

Espero que isso ajude :)

    
por 18.08.2015 / 16:37