我的程序有一个二进制文件,需要访问 iptables/ip6tables 以根据需要添加/删除条目。有一个安装脚本来设置环境以允许用户运行二进制文件而无需每次都使用 sudo 似乎是合理的。用户唯一一次使用 sudo 是为了安装,之后就可以使用自己的帐户来运行二进制文件。问题是,我不确定应该运行哪些命令来在安装脚本中启用此功能
答案1
您将为需要该权限的用户创建一个组。也许这样的团体已经存在,例如users
。
然后执行(作为root,也许通过sudo
)
# chgrp users /usr/bin/iptables
# chmod u+rxs,o= /usr/sbin/iptables
然后该组中的某个人应该能够以 root 身份运行该命令。 (请iptables
酌情调整路径。)
另一种方法是使用sudo
允许用户/组运行该命令。安全方面,只要命令o=
中不省略,它就等效chmod
。不过,这种sudo
方法更现代一些——也许是品味问题。