Exécuter une command en tant qu'user nologin

J'ai récemment mis en place mon server afin que mes users "virtuels" de votre SuPHP ne puissent pas être connectés en utilisant cet article

Mon problème est maintenant qu'avant lorsque j'ai exécuté une command de rake pour mon application Ruby on Rails s'exécutant sur le server, j'ai utilisé su pour accéder à www-data et exécuter la command à partir de là – évidemment, je ne peux plus le faire à cause de la nologin.

Donc, en tant qu'user root, comment puis-je exécuter des commands comme d'autres users, même s'ils sont nologin?

Une façon est de lancer un shell pour cet user (spécifiant explicitement le shell):

 sudo -u www-data bash 

Cela va lancer un shell (bash) comme user spécifié. Vous pouvez ensuite exécuter vos commands et vous déconnecter (pour revenir à votre shell précédent)

En tant que root, vous pouvez utiliser su -s /bin/sh $user – l'option -s annule le shell configuré pour l'user.