"Chmod" funktioniert nicht

29

Ich habe ein / bash-Skript geschrieben, und um es auszuführen, habe ich beschlossen, alle Rechte festzulegen, also habe ich es versucht

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

Dann, um das Ergebnis zu überprüfen, habe ich getippt

ls -l

Aber die Rechte hatten sich überhaupt nicht geändert.

Ich habe keine Fehlermeldungen und es scheint seltsam. Ich habe auch versucht, den vollständigen Pfad anzugeben, aber das hat nicht geholfen.

Ich habe auch versucht, alle diese Schritte unter root auszuführen

Wo könnte das Problem liegen?


Danke für die Hilfe!


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

Das ist es, was ich nach allem, was ich versucht habe, zeigt


Ich habe den PC neu gestartet und das Problem ist erneut aufgetreten. Aber jetzt hilft keine der vorgeschlagenen Methoden.


Ich verwende Linux Mint 13 32-Bit. Auf dem Hauptdatenträger, auf dem sich diese Dateien befinden, habe ich ext3 und zwei weitere Partitionen ausprobiert, auf denen ich ntfs und FAT32 habe.


buildedfile.out ist eine Terminal-App, die auf C geschrieben wurde

hrust
quelle
Haben Sie einen Fehler vom chmodBefehl bekommen?
Fran
hast du versucht, chmod 777 / path / to /
Bitte posten Sie die Ausgabe vonls -la
deppfx 20.07.12
Probieren Sie den Verbose-Schalter:chmod -v 777 *
Dennis
Sie können auch versuchen chmod a+x *(oder noch besser chmod a+x buildedfile.out), wenn dies funktioniert und Sie nur eine Datei ausführen müssen, vielleicht ist es nur das, 777was Probleme verursacht: /
Flinth

Antworten:

42

Ich hatte das gleiche Problem, die Partition, auf die ich zugegriffen habe, war eine mit ntfs-3g gemountete ntfs-Partition (standardmäßig ohne Berechtigungsunterstützung), und es dauerte eine Weile, bis ich mich daran erinnerte.

Ich würde erwarten, dass chmod mir eine Warnung gibt, aber es hat nicht nur in Ihrem Fall gefallen.

Ich weiß, dass es eine Option auf fstab gibt, wenn ntfs-3g verwendet wird, um das Festlegen von Berechtigungen in einer ntfs-Partition wie hier beschrieben zu ermöglichen .

Ich hoffe, es hilft.

VinGarcia
quelle
3
Das kann auch bei einer Landstreicher-Kiste passieren, was bei mir der Fall war. Also habe ich die Berechtigung des Verzeichnisses vom Host-System aus geändert. Et voila, Erlaubnis erteilt auf virtueller Maschine. Danke für den Tipp. :)
Arvid
tldr:mount -o permissions /dev/...
phil294
5

Versuchen: sudo chmod -R -f 777 *

Ich denke, das kann eine Erlaubnisfrage sein.

Mc NaN
quelle
2

Sind Sie sicher, dass Ihr Dateisystem nicht schreibgeschützt ist?

Geben Sie montieren Befehl zu überprüfen. Wenn die Mount-Optionen ro enthalten , müssen Sie Ihr Dateisystem mit dem folgenden Befehl erneut mounten:

mount -o rw / dev / / mountpoint

Sie können auch überprüfen, welcher Benutzer das Shell-Skript besitzt.

Wenn es nicht "gemma" ist, könnte es die Ursache des Problems sein.

Rhon
quelle
Ich hatte ein ähnliches Problem und es war in der Tat ein Problem, dass mein HDD-Caddy richtig eingelegt war. Ich habe es folgendermaßen gelöst: askubuntu.com/a/168424/20868
George Mauer