docker - Calicoctl 错误:“bash: /usr/local/bin/calicoctl: Permission denied ubuntu
问题描述
我通过以下命令在我的 Ubunt 中安装了 Calicotl:
curl -O -L https://www.projectcalico.org/builds/calicoctl
但是,当我必须在终端中尝试这个命令时
calicoctl apply -f calico.yaml
我有这个错误
bash: /usr/local/bin/calicoctl: Permission denied
那么,我该如何解决呢?非常感谢!我尝试使用 sudo 进行此操作,但是它不起作用
解决方案
问题(如果不是很明显)是您运行命令的用户没有执行它的权限。正如@CharlesDuffy 在评论中指出的那样:
如果它只是来自 的直接输出
curl -o
,则根本不会有任何x
位,所以我希望rw-r--r--
orrw-rw-r--
,具体取决于活动的 umask
可执行文件的权限是什么样的?您可以通过运行找到它:
ls -l /usr/local/bin/calicoctl
上述命令的结果将输出类似于:
-rw-r--r-- 1 root root 1680446 Jul 16 11:56 /usr/local/bin/calicoctl
其中该rw-r--r--
部分分别以三个字母块表示 Owner、Group 和 World/Global 的允许权限。您可以在此处阅读有关权限如何工作的更多信息。
我有一种感觉,你的结果看起来很相似,rw-r--r--
这意味着没有人有能力执行。通常,位于 中的所有二进制文件/usr/local/bin
都由 拥有root
,在root
组中,并且权限设置为rwxrwxrwx
(每个人都可以读/写/执行)或rwxr-xr-x
(所有者可以读/写/执行,但组成员和全局只能读取/执行。)
可以尝试调整您的rwxrwxr-x
权限
sudo chmod 775 /usr/local/bin/calicoctl
看看这是否有效。chmod
是用于更改权限的工具。同样,请参阅此链接以获取有关 Ubuntu/GNU+Linux 中权限的更多信息。
作为参考,以下是用户权限的数字细分:
7 - full (rwx)
6 - read and write (rw-)
5 - read and execute (r-x)
4 - read only (r--)
3 - write and execute (-wx)
2 - write only (-w-)
1 - execute only (--x)
0 - none (---)
您也可以只运行您的初始命令,sudo
但这不是解决方案,只是一种解决方法
推荐阅读
- java - java.lang.NoSuchMethodError: 'com.google.api.client.json.JsonParser
- python - tensorflow v1 可以用于部署吗?
- mysql - 根据数字排序 ASC 或 DESC,但对于非数字行
- python - PyQt,Pyside2 为什么插槽通过 lambda 连接工作,而直接连接时不工作?
- asp.net-core - 当其中一项活动在公共交通中的指定时间没有消耗命令时补偿交易
- laravel-5 - Laravel 和 JS:使用 2 个变量发出 GET 请求
- python - MyPy 中的相同类型如何不兼容?
- jquery - jquery each for form 元素 - 如何获取表单中的下一个、上一个元素?
- r - Str_split 只返回字符串的一半
- ios - 如何使标签的背景图像适合标签的框架大小