为了工作,我需要安装 Cisco Anyconnect,但由于权限问题,我无法安装它。我已经设置好了一切,我认为是正确的。我正在关注此指令。
在步骤 8(执行 bash 脚本)之后,我不断收到错误消息“抱歉,您需要超级用户权限才能运行此脚本”。
脚本应该可以访问 /opt/
我为解决这个问题做了什么:
- 我按照说明操作,当然使用了 sudo
- 以 root 用户身份运行脚本 (su -c 等)
- 编辑/opt/文件夹的权限 chmod 755
- 将脚本和 /opt/ 的所有者更改为我的用户帐户(然后恢复,没有修复)
- 创建了一个新的文件夹 /opt2/ 并编辑脚本以使用该文件夹
有人可以帮我解决这个问题吗?
编辑:我正在使用 Ubuntu 22.04.3 LTS
剧本版权
- 文件:vpn_install.sh
- 所有者:用户名
- 组:根
- 用户::rwx
- 组::rwx
- 其他::rwx
/opt/ 权利
- 文件:选择/
- 所有者:root
- 组:根
- 用户::rwx
- 组::rwx
- 其他::rwx
终端输出:
username@user-NUC10i7FNK:~/Documents/anyconnect/anyconnect-linux64-4.10.07073-predeploy-k9/anyconnect-linux64-4.10.07073/vpn$ sudo ./vpn_install.sh
Installing Cisco AnyConnect Secure Mobility Client...
Sorry, you need super user privileges to run this script.
Exiting now.
编辑:
- 我的用户 ID:1000
- ID 根:0
在文本编辑器中打开脚本
# Make sure we are root
if [ `id | sed -e 's/(.*//'` != "uid=0" ]; then
echo "Sorry, you need super user privileges to run this script."
exitInstallation 1
终端 sudo id
UID=0(root) GID=0(root) groups=0(root)
附加信息:我已将脚本更改为以 UID 1000 运行
新的错误信息:
mv: can not move '/tmp/anyconnect-linux64-4.10.07073-core-vpn-webdeploy-k9-11321613022024.log' to'/opt/cisco/anyconnect/./anyconnect-linux64-4.10.07073-core-vpn-webdeploy-k9-11321613022024.log': access denied
答案1
/usr/bin/id
您的 shell 中的命令存在一个奇怪的问题/bin/sh
。也许您安装了其他东西,它会产生不同的大写“UID”输出,这与需要默认小写“uid”Ubuntu 版本的脚本不兼容。让我们通过删除检查来解决这个问题:
vpn_install.sh
在文本编辑器中打开脚本- Ctrl+F表示“抱歉,您需要超级用户权限”
- 选择封闭
if [...] fi
块。 - 删除或注释掉
- 确保使用以下命令运行脚本以
sudo
避免出现第二个mv
权限错误,因为不会有任何内容警告你