![使文件可执行只能从 GUI 进行,而不是从终端进行](https://linux22.com/image/1140132/%E4%BD%BF%E6%96%87%E4%BB%B6%E5%8F%AF%E6%89%A7%E8%A1%8C%E5%8F%AA%E8%83%BD%E4%BB%8E%20GUI%20%E8%BF%9B%E8%A1%8C%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E4%BB%8E%E7%BB%88%E7%AB%AF%E8%BF%9B%E8%A1%8C.png)
从 GUI 中可以这样工作:打开文件属性菜单 -> 权限选项卡 -> 选中“允许将文件作为程序执行”
从终端运行chmod -x filename
不执行任何操作,也不输出任何内容。
我尝试过的事情:
# 1
$ chown $USER filename
$ sudo chmod -x filename
# 2
$ sudo chmod -x filename
# 3
$ chmod -777 filename
有任何想法吗?
提前致谢 :)
答案1
您的命令chmod -x
剥夺了执行权限。如果您想使其可执行,请尝试:
chmod +x filename
答案2
要检查您的权限,您可以cd
到所需的文件夹,然后执行ls -l
,它将显示权限以及文件名,如下所示:
这里你可以看到有一堆.cpp
文件包含一些 C++ 代码,看看它们的权限-rw-r--r--
,这意味着它们可以被所有人读取,但只能由所有者写入。因此
- r:可读
- 瓦:可写
- X:可执行文件
和
- 最后三个地方:其他权限
- 接下来的三个位置:组权限
- 最后四个位置:所有者权限(
d
意味着它是一个目录)
现在,您可以使用 来添加和删除权限chmod
,其中,
- 你: 所有者
- G: 团体
- o: 其他
- A: 全部
例如,像您所说的那样,要为所有者添加可执行权限,您可以使用该命令chmod u+x <filemane>
。
笔记:在上面的命令中使用 a-
而不是 a+
将删除该权限,例如,为了防止其他人读取,您可以使用以下命令:chmod o-r <filename>