在 sudoers 文件中插入别名

在 sudoers 文件中插入别名

我为 myuser 创建了一个别名

alias up='sudo apt update && sudo apt -y upgrade && sudo apt -y autoremove'

它存储在用户的.bashrc文件。我尝试修改 sudoers 文件,在其末尾插入以下行:

myuser ALL=(ALL) NOPASSWD: up

visudo但是给出了语法错误。如何让我的别名在没有 root 密码的情况下运行?

答案1

如果你想在没有密码的情况下运行所有​​ sudo 命令,你可以使用它。

myuser ALL=(ALL) NOPASSWD:ALL

如果你想将其限制为只有几个命令,你可以使用它。

myuser ALL=(ALL) NOPASSWD: /usr/bin/apt,/usr/bin/command

答案2

我想它不起作用,因为 :up 是一个别名,而不是文件的路径。别名在执行之前会被 shell 捕获并展开。

要获得您想要的行为,您必须使用:

myuser ALL=(ALL) NOPASSWD: /usr/bin/apt

(仔细检查它是否是 APT 的正确路径,我现在没有任何基于 apt 的发行版。)

但你想做的是一场等待发生的灾难,至少如果你不省略“sudo apt -y autoremove”。应谨慎使用自动删除,并检查计划删除的内容,因为它有时会删除必要的软件包,并真正扰乱您的系统(我经历了惨痛的教训)

相关内容