如何在脚本 bash 中写入:su - 用户,命令,密码,而不询问我密码?

如何在脚本 bash 中写入:su - 用户,命令,密码,而不询问我密码?

我将创建文件 sh (bash 脚本)

#!/bin/bash
su - username -c XXXXXXXX

xxxxxx= 命令

我把密码放在哪里了?(但终端没有询问我密码,怎么办?)

答案1

您应该研究如何正确设置sudoers文件。您可以使用名为 的程序来完成此操作visudo,该程序会执行一些幕后操作。

sudoers可以这样设置,即任何用户都可以访问系统上可用的一组有限命令或所有命令。您还可以设置它,以便用户可以以另一个用户的身份运行任何命令。我认为第三种方法是您决定采用的方法。

但是,如果您已确定这是您真正想要完成的事情,我建议您确定要运行的命令,并使用白名单方法,而不是解锁所有命令。

如果您以 sudoers 文件中的用户身份运行 Chromium、Firefox 或任何暴露在互联网上的服务器/客户端,并且拥有不受限制、无需密码的访问权限,那么您也可以在 root 权限下运行它们。

  1. visudo
  2. 添加以下条目
    • 用户1 ALL=(用户2) NOPASSWD: /bin/bash

user1@host $ sudo -u user2 cat /home/user2/.ssh/authorized_keys

资源:

  1. 允许另一个用户无需密码即可使用 sudo
  2. visudo 手册页
  3. Ubuntu 的 Sudoers 文档

相关内容