我有一个带有 112mb RAM 的瘦客户端,它使用 openbox 从 USB 驱动器启动 ubuntu 服务器 12.04.1,学生将使用它与 cisco 设备通信。因此,学生需要能够重新配置网络接口,然后使用唯一的用户 cisco 重新启动它而无需重新启动。
这是我目前所拥有的:
adduser cisco
usermod -a -G dialout cisco
chown root:cisco /etc/network/interfaces
chmod 664 /etc/network/interfaces
chmod u+s /sbin/shutdown
chmod u+s /sbin/reboot
chmod u+s /sbin/poweroff
chmod u+s /run/network/if*
chmod u+s /sbin/ifdown
chmod u+s /sbin/ifup
当我/etc/init.d/networking restart
以 cisco 身份运行时,我得到:
*Reconfiguring network interfaces...
rm: cannot remove `eth0.dhclient': Permission denied
Failed to send flush request: Operation not permitted
RTNETLINK answers: Operation not permitted
关于如何实现这个功能你有什么想法吗?
谢谢!
答案1
您需要为 cisco 用户添加适当的 sudo 权限。以 root 身份在 /etc/sudoers.d/ 中创建一个名为 cisco 的文件,内容如下:
cisco ALL=NOPASSWD: /etc/init.d/networking
还将访问权限更改为只读:
sudo chmod 440 /etc/sudoers.d/cisco
更多的 Ubuntu 方式是使用逻辑sudo service networking restart
,但我不知道如何将其添加到 sudoers 文件中。