以 nologin 用户身份执行命令

53 linux su login user-permissions

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

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

因此,作为 root 用户,我如何以其他用户的身份执行命令,即使他们没有登录?

cyb*_*x86 65

一种方法是为该用户启动一个 shell(明确指定 shell):

sudo -u www-data bash 
Run Code Online (Sandbox Code Playgroud)

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


Ser*_*sov 45

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

  • 这对我来说似乎总是错误的。 (2认同)