从 Web 服务器创建用户

从 Web 服务器创建用户

我正在创建一个网络应用程序,它允许我设置共享托管环境。一切都必须以编程方式完成,我怀疑我是否以完全不安全的方式处理事情。

目前,我正在创建 bash 脚本来安装和配置每个用户,然后从网络服务器执行这些脚本。但是,我仍然必须在脚本中以 sudo 身份运行命令。

例如,创建用户后,我需要以该用户身份登录并使用 wget 下载某些内容。为了达到这一点,我以 sudo 身份运行 adduser,然后从环境变量中输入密码,然后运行 ​​sudo su 以该用户身份登录。所有这些都让人感觉非常可疑,但我还没有找到替代方案。

任何帮助将不胜感激!

答案1

可能的解决方案包含 2 个步骤:

  • 设置无需密码的 sudo 访问
  • 使用 sudo 以所需用户身份登录

步骤 1 被广泛描述。

例如,https://askubuntu.com/questions/147241/execute-sudo-without-password

假设您的用户名是“mark”,目标用户名是“john”:

执行:

sudo visudo

并添加到文件末尾:

mark ALL=(ALL) NOPASSWD: ALL

然后保存文件

第 2 步就容易多了:

sudo -i -u john

就这样。不用谢:-)

相关内容