“chmod”不起作用

“chmod”不起作用

我写了一个 /bash 脚本,为了执行它,我决定设置所有权限,所以我尝试

chmod 777 * //I had 3 text files in the directory, so that's ok

然后检查结果我输入

ls -l

但权利根本没有改变。

我没有收到任何错误消息,这似乎很奇怪。我也尝试指定完整路径,但这没有帮助。

我也尝试在 root 下完成所有这些步骤

问题可能出在哪里?


谢谢你的帮助!


ls-la

drwx------ 1 gemma gemma 4096 июля  20 18:00 .
drwx------ 1 gemma gemma 4096 июля  20 16:35 ..
-rw------- 1 gemma gemma  407 июля  20 18:00 buildedfile.out   ;this is what I
                                                               ;need to launch
-rw------- 1 gemma gemma 4096 июля  20 17:21 kernel.bin
-rw------- 1 gemma gemma  350 июля  20 16:59 link.ld
-rw------- 1 gemma gemma 2025 июля  20 17:59 main.c
-rw------- 1 gemma gemma 1894 июля  20 17:34 start.asm
-rw------- 1 gemma gemma  457 июля  20 17:20 start.o

这就是我尝试之后 ls 显示的内容


我重启了电脑,问题又出现了。但现在任何建议的方法都不起作用。


我使用的是 Linux Mint 13 32 位。在存放这些文件的主磁盘上,我使用的是 ext3,还在另外两个分区上试过,其中有 ntfs 和 FAT32。


buildedfile.out是一个用C编写的终端应用程序

答案1

我遇到了同样的问题,我访问的分区是使用 ntfs-3g 安装的 ntfs 分区(默认情况下不支持权限),我花了一段时间才记住这一点。

我希望 chmod 能给我一些警告,但是它并没有像你的情况那样。

我知道使用 ntfs-3g 时 fstab 上有一个选项,可以按照所述在 ntfs 分区中设置权限这里

我希望它有帮助。

答案2

尝试:sudo chmod -R -f 777 *

我认为这可能是许可问题。

答案3

您确定您的文件系统没有以只读方式安装吗?

类型命令检查。如果有反渗透在挂载选项中,您需要使用以下命令重新挂载文件系统:

mount -o rw /dev/ /挂载点

您还可以检查哪个用户拥有该 shell 脚本。

如果不是“gemma”,那么它可能是问题的根源。

答案4

(可能是一些未来读者的问题:)@VinGarcia 的答案是正确的,但具体到您使用 WSL 并且尝试在路径上安装的“Windows 文件”中进行 chmod/chown 时/mnt/,默认情况下不允许这样做。

在这种情况下,您有两个选择。要么使用 WSL 的文件系统(未挂载,例如,您的主目录~),并且在那里允许,要么创建一个/etc/wsl.conf并向其中添加以下内容:

[automount]
options = "metadata"

然后在 CMD 中运行wsl --shutdown。重新打开一个新的 wsl 终端窗口,现在它必须可以工作了。

相关内容