所以,我在 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
输入后立即添加它。