我很困惑这个问题要求我做什么。对于上下文,hello 是一个 C++ 文件。
“再次使用 chmod 命令使 hello 成为可执行文件,但对所有用户来说不可读且不可写。”
使用在线 chmod 计算器,我最好的猜测是chmod 001 hello
,它可由公众执行,但公众无法读取或写入。
它是否正确?
答案1
首先请允许我解释一下 chmod 的基础知识。
Chmod 是一个 Unix 命令,允许您设置权限来确定谁可以访问该文件以及他们如何访问该文件。
您可以为 3 个不同的类别设置这些权限。
- 文件的所有者(U序列)
- 拥有该文件的组的成员 (G组)
- 其他所有人 (氧其他)
修改权限有两种方法:
1) 使用字母数字字符
权限分为 3 类:
A。右伊德
湾瓦莱特
角eX执行
您可以通过以下方式设置权限:让我们想象一个名为的文件file.sh
我们要设置权限以便
- 用户可以r头,w仪式,eX执行
- 该小组可以r头,w仪式
- 其他人可以r电子头
我们所要做的就是奔跑
chmod u=rwx,g=rw,o=r file.sh
或者也许我们想让它对每个人都可执行,所以我们运行
chmod +x file.sh
如果想要与上述命令相反的命令,我们可以这样做
chmod -x file.sh
2)使用八进制数
另一种方法是使用八进制数字,其中每个数字按顺序代表用户、组和其他人的权限。
- 4代表“读”
- 2代表“写”
- 1代表“执行”
- 0 代表“无权限”。
通过添加这些数字,我们可以轻松设置单独的权限。所以如果我们采用前面的例子那就意味着
chmod 764 file.sh
7是权限4+2+1的结果,6是4+2+0,4是4+0+0
您可以通过运行查看更多信息man chmod
回到你的问题。虽然你的问题不清楚,但我想说你应该使用
chmod 711 hello
这意味着您(所有者)拥有完全权限,您的组只能执行,其他人也一样。
或(取决于你如何解释这些词“全部用户”)
chmod 771 hello
这意味着您(所有者)拥有完全权限,您的组也是如此,但其他人只能执行。
现在我应该提到你可以使用类似的东西
chmod 001 hello
或者
chmod 111 hello
但我认为做这样的事情没有意义,除非它是一个编译的程序或其他东西。但仍然...
答案2
问题不太清楚,但我猜测他们想要 771 或 nn1 的任意组合。但我不认为001正是他们正在寻找的。他们只指定全部用户应该能够执行而不是读取或写入,因此所有者/组没有理由不能读取/写入。
另外如果你做过将权限设置为001你无法执行,因此至少他们想要 111。