20 是否有直接允许用户运行的方式(例如) /usr/bin/pacman -S -u 作为根,不允许他奔跑 /usr/bin/pacman -S -u some_package ? 线 user ALL=(root) NOPASSWD: /usr/bin/pacman -S -u 同时允许 user ALL=(root) NOPASSWD: /usr/bin/pacman -S -u "" 在语义上似乎是等效的。 linux security permissions console sudo — 尼斯 source
27 对于您的情况,请尝试以下操作: Cmnd_Alias PACMAN = /usr/bin/pacman -S -u, ! /usr/bin/pacman -S -u some_package user ALL=(root) NOPASSWD: PACMAN 您可以在sudoers文件中使用shell全局模式,例如[az],[0-9]等,以排除与特定模式匹配的软件包。 — 马蒂亚斯·克鲁尔 source
3 编写一个脚本,该脚本可以执行所需的操作,并对其进行sudo访问。 还要确保在此环境中运行的任何环境都根本无法访问网络,或者他们可以使用自己的dns欺骗镜像,然后在pacman安装该镜像时以root身份运行任意代码。 — 丹妮丝 source 那不是一种优雅的方式,sudo默认情况下支持确切的给定情况 — matthias krull 2010年 1 不是最好的解决方案,但是为安全警告+1 — Aaron J Lang