Ich habe einen Ordner udp_folder2
d------r-T 41 root root 4096 Apr 26 21:17 udp_folder2
Wenn ich mit einem anderen Benutzer als root
zusammen bin, kann ich „t cp -r
es in einen neuen Ordner, in dem steht: Berechtigung verweigert
warum? und wie kann ich es mit einem anderen Benutzer als root
Antwort
kopieren Nun,
Das liegt daran, dass niemand diese Datei verschieben kann, wie Ihre aktuellen Berechtigungen festgelegt sind. (Anders als root, da root nicht den gleichen Regeln folgt.)
Sie müssten entweder den Eigentümer der Datei ändern (chown) oder den anderen Benutzer zur Gruppe „root“ und „root“ hinzufügen chmod es, damit die Gruppe im Verzeichnis ausgeführt werden kann, ODER erlauben Sie allen anderen, die Datei auszuführen.
Eine schnelle Lösung wäre also:
chmod -R o+rwx udp_folder2
Dadurch kann jeder in diesem Verzeichnis lesen, schreiben und ausführen.
Auch … wenn Sie „versuchen,“ udp_folder2 „in dasselbe Verzeichnis zu kopieren, in dem es sich jetzt befindet Sie benötigen auch die Berechtigung „w“ für dieses Verzeichnis. Beispiel:
/ foo / udp_folder2 – Sie benötigen „w“ für / foo, um dieses Verzeichnis in / foo
Ich würde vorschlagen, Linux-Dateiberechtigungen zu lernen: Lernprogramm für Linux-Dateiberechtigungen
Kommentare
- Ich denke, Kopie ist nur
r
Berechtigung, offensichtlich gibt esr
Berechtigung für andere Benutzer, sehen Sie, dort ich sar
- Ich meine in
d------r-T
ist dier
für andere Benutzer - Sie benötigen außerdem die Ausführungsberechtigung, um ein Verzeichnis zu kopieren. Ich ' bin mir nicht sicher, was
T
ist. - Sie ' Ich benötige das ' w ' in dem Verzeichnis, das Sie ' kopieren möchten zu … Wenn Sie beispielsweise ' / home / foo nach / etc / foo kopieren, benötigen Sie ' das ' w ' Berechtigung in / etc /
- @Swiss – Die ' T ' ist ein Sticky-Bit, bei dem es sich um eine ' spezielle ' Berechtigung handelt. Erfahren Sie hier alles über Sticky Bits: de.wikipedia.org/wiki/Sticky_bit
Antwort
Das Verzeichnis hat keine x
Berechtigung, sodass andere (dh in diesem Fall jeder Benutzer) das Verzeichnis verwenden können, um auf die Dateien zuzugreifen Innerhalb. Die T
bedeutet, dass sie klebrig ist (nur der Eigentümer einer Datei kann sie löschen). Sowohl mit der Berechtigung x
als auch mit dem Sticky-Bit wird ein Kleinbuchstabe t
angezeigt. In Großbuchstaben T
steht „Keine Zugriffsberechtigung, aber Sticky Bit, was eine seltsame Kombination ist“.
Lesen Sie die Unix-Datei- / Verzeichnisberechtigungen nach. Es ist nicht „zu schwer, und Sie werden es brauchen.
Antwort
Sie tun es nicht“ Ich möchte nicht jedem rwx
im Verzeichnis geben, weil Sie ein Sicherheitsrisiko schaffen würden. Und Sie möchten nicht -R
den chmod weil das Änderungen rekursiv schreiben würde.
Nur chmod 755 "filename"
und Sie sind gut.
Hier ist eine Aufschlüsselung der Zahlen:
- Lesen = 4
- Schreiben = 2
- Ausführen = 1
Dann haben Sie 3 Gruppen:
- Eigentümer.
- Diejenigen, die zur Gruppe gehören.
- Alle anderen.
Also, wenn Sie Ich möchte dem Eigentümer rwx
, denjenigen, die zur Gruppe rw
gehören, und allen anderen rw
Sie fügen einfach die Berechtigungen hinzu: rwx
= 7, da r
+ w
+ x
ist 4 + 2 + 1 und rw
= 6, weil r
+ w
= 4 + 2.
Kommentare
- Daher lautet mein Begriff ' Eine schnelle Lösung wäre also ' und ich sende ihm einen Link, um mehr über Berechtigungen zu erfahren. ' erwähnte er keine Sicherheitsbedenken oder ähnliches. Er hat gerade angegeben, dass er das Verzeichnis kopieren möchte.
- Außerdem benötigen wir ' die ' w ' Berechtigung für das Verzeichnis, in das er ' versucht, es zu kopieren.
- Don ' sei kein Hasser Tillman.
Antwort
Um einen Ordner zu kopieren, in dem der Besitzer nicht“ Wenn Sie keine Berechtigung dazu haben, müssen Sie diese Berechtigungen ändern.
Wenn der Ordner selbst für den Eigentümer eingeschränkt ist, gibt es einen Grund dafür und das Erteilen der Berechtigungen für alle anderen (o
) ist keine gute Lösung ( Wie in der ersten Antwort gezeigt).
Damit der Eigentümer auf den Ordner zugreifen kann, muss er gelesen (r
) und Bits ausführen / suchen (X
) set. Wenn Sie Ordner in den Ordnern haben, sollte jeder den gleichen Regeln folgen. Für Dateien reicht nur das Lesebit (r
) aus.
Um also die Leseberechtigungen für den Ordner rekursiv zu erteilen, müssen Sie Folgendes ausführen:
chmod -vR u+rX folder/
Wenn Sie als Benutzer den obigen Befehl ausführen, stellen Sie sudo
voran (wenn Sie Superuser-Berechtigungen haben). Andernfalls wird als root ausgeführt.
Wenn einige Dateien im Ordner nicht im Besitz von root sind, ändern Sie sie rekursiv durch:
sudo chown -vR root folder/
Dann Kopieren Sie es wie gewohnt oder verwenden Sie rsync
wie folgt:
rsync -vuar src/ dst/
Weitere Erläuterungen zu den obigen Befehlen finden Sie unter: man chmod
und man chown
.