I've recently set up my server so that my suPHP 'virtual' users can't be logged into by using this article
My issue now is that before when I ran a rake
command for my Ruby on Rails application running on the server, I used su
to go into www-data
and execute the command from there - obviously I can't do that anymore because of the nologin.
So as a root user, how can I execute commands as other user's, even if they are nologin?
One way is to launch a shell for that user (explicitly specifying the shell):
This will launch a (bash) shell as the specified user. You can then execute your command(s) and logout (to return to your previous shell)
As root you can use
su -s /bin/sh $user
— the-s
option overrides the configured shell for the user.