以nologin用户身份执行命令


43

我最近设置了服务器,以使我的suPHP“虚拟”用户无法通过使用本文登录

现在的问题是,当我rake为在服务器上运行的Ruby on Rails应用程序运行命令之前,我曾经从那里su进入www-data并执行命令-显然,由于没有登录,我再也不能这样做了。

因此,作为root用户,即使他们没有登录,我如何也可以像其他用户一样执行命令?


一种方法是推出面向用户(显式指定壳)壳:sudo -u www-data bash执行你的命令(S)和注销
cyberx86

@ cyberx86您的解决方案很不错,您可以将其提交给我吗?

Answers:


50

一种方法是为该用户启动外壳程序(明确指定外壳程序):

sudo -u www-data bash 

这将以指定用户身份启动(bash)shell。然后,您可以执行命令并注销(以返回到先前的Shell)


39

作为root用户,您可以使用su -s /bin/sh $user -该-s选项将覆盖用户配置的shell。


1
这似乎总是对我来说是错误的。

对我来说很棒,从来没有机会。当使用bash语法运行脚本时,需要使用/ bin / bash而不是/ bin / sh
ekerner
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.