![允许用户以 root 身份运行脚本,但不允许运行脚本中的各个命令](https://linux22.com/image/610005/%E5%85%81%E8%AE%B8%E7%94%A8%E6%88%B7%E4%BB%A5%20root%20%E8%BA%AB%E4%BB%BD%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%EF%BC%8C%E4%BD%86%E4%B8%8D%E5%85%81%E8%AE%B8%E8%BF%90%E8%A1%8C%E8%84%9A%E6%9C%AC%E4%B8%AD%E7%9A%84%E5%90%84%E4%B8%AA%E5%91%BD%E4%BB%A4.png)
我对此类任务没有太多经验,并且意识到我需要更熟悉 sudoers 文件。我希望用户能够通过 ssh 连接并运行执行一堆 libvirt 和 lvm 命令(如virsh list
和)的脚本lvcreate
。该脚本是交互式的,旨在阻止此用户搞乱东西,但是我似乎无法允许用户以 root 身份运行此脚本而不允许直接访问命令,从而绕过脚本。如果我唯一的需求是让用户连接并运行此脚本,以 root 身份执行操作,但不允许该用户进行任何其他访问,那么最佳做法是什么?
答案1
假设用户名为 bob,将以下内容添加到 sudoersfile:
bob ALL=(ALL) /path/to/script
话虽如此,我还是会首先教育用户如何正确使用他可以访问的命令/系统。Sudo 不应被用来代替信任。