在“su”到特定用户后运行屏幕

在“su”到特定用户后运行屏幕

所以,我在 Linux 机器上设置了 ssh,当用户(root)登录 ssh(基本上是单用户机器)时启动屏幕。我也安装了 dataplicity,所以我可以从任何地方访问它。当我远程访问它时,它以用户 dataplicity 身份运行,因此我以 root 用户身份执行任何操作,这不会重新连接到任何可用的屏幕会话。有没有办法只为特定用户添加“su”之后发生的事情?

答案1

当您su -输入任何用户 ID 时,就意味着您登录到该 ID。用户主目录中有一个文件,用户登录后会读取该文件。在最近的 Linux~/.profile或旧版本中是这样~/.bash_profile。您可以在此文件中添加用户登录时启动的任何内容。如果您在用户主目录中找不到这些文件,请尝试编辑~/.bashrc.

答案2

su代表“切换用户”并以您指定的用户身份登录。如果您不指定用户,那么您将以 root 身份登录。

-会调用一个新的登录 shell,它会清除您的环境变量。

如果这样做是安全的,您可以sudo以特权用户身份运行命令,同时保持以 dataplicity 身份登录。例如:

sudo lastb

机器将要求您进行 dataplicity 登录,然后lastb以特权用户身份运行(检查登录失败)。

为了sudo从您的 dataplicity 帐户中使用,您需要将 dataplicity 添加到您的/etc/sudoers帐户(在 SUSE 中)。通过使用以下方法来执行此操作:

su -

visudo

然后将: 添加dataplicity ALL=(ALL) ALL到列表中。通常您在root ALL=(ALL) ALL输入后立即添加它。

相关内容