I recently installed apache and /var/www was owned by root and then I had to chmod 777 to make stuff work. This is insane.
Sim, não faça isso. Use:
chown -R www-data.www-data /var/www
Em vez disso. Caso contrário, você estará comprometendo a segurança de suas páginas da Web. Os guias que sugerem coisas chmod para o 777 geralmente escrevem o tutorial para provedores de hospedagem compartilhada, porque se eles já o tiverem definido como 775 , ou 755 e chown como o www- usuário de dados não há nenhuma razão para nunca chmod 777 nada a menos que você está compartilhando um arquivo com outro usuário no sistema, mas mesmo assim apenas cp para / tmp
O Sudo é feito para proteger você de fazer coisas tolas como root que você não faz negócios. Se você precisar de um shell "root" temporário, faça sudo su - . Seja forwarned isto deve somente ser usado um temporário. Eu sugeriria um TMOUT = 600 no .bashrc da sua raiz, de modo que o root seja automaticamente kickado após 10 minutos de inatividade.
Eu sugiro que você leia o Guia do Servidor Ubuntu (link direto para o pdf). Especificamente, capítulo 8 sobre segurança. Ler todo o livro deve lhe dar uma grande supervisão sobre como fazer, manter e melhorar seus serviços / qualidade / segurança.