All I need to do is to run a specific script as a particular user who does have the nologin/false
shell indicated in /etc/passwd
.
I would run the script as root and this should run as another user. Running:
~# su -c "/bin/touch /tmp/test" testuser
would work, but I need a valid shell for the testuser.
I know I can disable the password with passwd -d testuser
and leave the shell to /bin/bash
this way would secure a little bit but I need to have nologin/false
shell.
Basically what I need is what crontab
does when we set jobs to be running as a particular user, regardless this one has nologin/false
shell.
p.s I found this thread Executing a command as a nologin user, but I have no idea how to concatenate
the command su -s /bin/sh $user
to the script I need to run.