www-data é uma conta do sistema, destinada a ser usada como a conta na qual o Apache HTTP Server é executado. É não destinado a ser usado para trabalho interativo.
A resposta técnica direta à pergunta por que su www-data não funciona é que a conta www-data está configurada para ter nologin como seu shell de login ( man nologin ). Isso é feito por padrão para desencorajar o uso dessa conta para trabalhos interativos. Você pode, claro, sempre fazer sudo -u www-data bash se você absolutamente precisa; mas não vejo por que isso seria necessário.
Em sistemas derivados do Debian, o Apache é executado por padrão sob o usuário www-data . Para fazê-lo funcionar com outra conta de usuário, você deve editar o arquivo /etc/apache2/envvars . Procure export APACHE_RUN_USER=www-data e export APACHE_RUN_GROUP=www-data e altere-os para atender às suas necessidades.
A execução do servidor da web na sua conta pode ou não ter implicações de segurança, dependendo da configuração específica. Uma maneira melhor pode ser deixar o Apache rodar sob www-data (para restringir suas permissões) e mudar a propriedade dos diretórios servidos pelo Apache para sua conta. Os diretórios nos quais o apache deve ter acesso de gravação podem ser feitos pelo usuário www-data e seu grupo, com o bit set-group-id configurado e acesso de gravação para o grupo.
Agora, se você ainda insistir que deseja que sua conta interativa seja chamada www-data , a maneira mais simples é assumir a propriedade de todos os arquivos pertencentes à conta www-data ou grupo www-data , exclua a conta e o grupo www-data e renomeie sua conta e o grupo principal www-data . Não vou explicar em detalhes como realizar esse procedimento inútil, complicado e propenso a erros.