Quando você escreve sudo somecommand > ~/errors.txt
, o shell que está chamando sudo
(e está sendo executado como você) é aquele que está executando o redirecionamento e abrindo ~/errors.txt
. Consulte Redirecionando o stdout para um arquivo que você não usa não tem permissão de gravação em . Normalmente, o problema nesse caso é que você deseja que o root grave no arquivo; veja a pergunta vinculada para saber como fazer isso.
Aqui, é estranho que você não possa gravar em um arquivo em seu diretório pessoal. É provável que você salvou anteriormente alguma saída como root em /home/user/errors.txt
, e esse arquivo agora existe e pertence a root. Remova o arquivo (você pode fazer isso desde que tenha permissão de gravação em /home/user
e, em seguida, poderá criá-lo como seu usuário.
rm ~/errors.txt
sudo tail /var/log/apache2/error.log > ~/errors.txt
Se o arquivo realmente não existir, você não terá permissão de gravação em seu diretório pessoal. Embora seja tecnicamente possível e, na verdade, útil ocasionalmente para alguns usuários restritos, é muito incomum.