我正在使用 Juniper 安全访问协议表单的 VPN 脚本这里~/.juniper_networks/network_connect/ncsvc
,它将执行位于以下权限下的二进制文件:
-rws--s--x 1 root root 1225424 okt. 25 13:54 ncsvc
但当我这样做时,出现以下错误:
ncsvc> Failed to setuid to root. Error 1: Operation not permitted
将文件夹移动/复制~/.juniper_networks
到例如/opt/juniper
(具有相同的所有者权限),我没有收到错误。在论坛主题中Ubuntu论坛有人指出,这可能是因为我已经加密了我的/home
,因此 ecryptfs 出现了“问题”。
我怎样才能解决这个问题?
答案1
设置 eCryptfs 挂载时使用 nosuid 挂载选项。这样做是出于安全原因,以防止特权升级攻击。
您可以将 ncsvc 二进制文件移出您的主目录(就像您对 /opt/juniper/ 所做的那样)并从 ~/.juniper_networks/network_connect/ncsvc 创建到新位置的符号链接。
答案2
对于加密的 /home 分区,我只能想到两种解决方法。
如果您通过网站连接到 VPN,请使用以下命令启动 Firefox:
sudo firefox
因为您的 /root 可能未加密。网络连接启动后,您可以关闭浏览器并让客户端在后台运行。这是之前提到的。基本上让客户端在加密分区之外运行:
rm ~/.juniper_networks sudo mkdir /opt/.juniper_networks ln -s /opt/.juniper_networks ~/.juniper_networks sudo chown yourusername:yourgroupname /opt/.juniper_networks
完成上述操作后,启动并继续安装网络连接。这次将安装在/opt/.juniper_networks
。