Anderen Benutzern erlauben, die Dateien aus meinem Ordner zu kopieren?

Anderen Benutzern erlauben, die Dateien aus meinem Ordner zu kopieren?

Ich arbeite mit Ubuntu und habe eine JAR-Datei in diesem Ordner/export/home/david

machineBUnd ich bin als Benutzer angemeldet david.

Ein anderer Benutzer ist ebenfalls auf derselben Maschine angemeldet. Und ich möchte, dass der andere Benutzer die obige JAR-Datei von meinem Standort kopiert.

Aber irgendwie können sie das nicht tun, da ihnen die Berechtigung verweigert wird. Gibt es eine Möglichkeit, dieser JAR-Datei oder meinem Ordner eine Berechtigung hinzuzufügen, sodass jeder die Dateien aus diesem Ordner kopieren kann?

Aktualisieren:-

Unten ist das Ergebnis, das ich erhalten habe -

david@machineB:~$ groups david
david : uucp

otheruser@machineB:~$ groups otheruser
otheruser : app

david@machineB:~$ ls -l foo.jar
-rw-r--r-- 1 david uucp 6543346 2014-03-07 18:27 foo.jar

david@machineB:~$ ls -ld $(echo "/home/david/foo.jar" | sed -r ':a; s#(.*)/[^/]*$#\1#;p;ta')
drwxr-xr-x 22 root   root 4096 2014-05-04 08:04 /home
drwx------  4 david uucp 4096 2014-03-07 18:36 /home/david

Antwort1

Aus irgendeinem seltsamen Grund $HOMEist Ihr Verzeichnis nur für Sie zugänglich. Dies ist auf keinem mir bekannten System die Standardeinstellung. Sie oder Ihr Systemadministrator haben es wahrscheinlich so eingerichtet.

Wie dem auch sei, Sie müssen nur jedem Lese-/Ausführungszugriff auf Ihre geben $HOME. Das ist auf den meisten Mehrbenutzersystemen üblich, damit die Leute ihre Arbeit teilen können. Führen Sie einfach diesen Befehl aus:

chmod a+rx ~/

Dadurch werden die Berechtigungen Ihres Home-Kontos auf festgelegt rwxr-xr-xund jeder kann Dateien von Ihrem kopieren $HOME.

Antwort2

Damit jemand Lesezugriff auf eine Ihrer Dateien hat, muss er Leseberechtigung für die Datei und Ausführungsberechtigung für alle Verzeichnisse haben, die zu der Datei führen. Um Alice beispielsweise das Lesen von zu ermöglichen /home/david/for_alice/foo.jar, müssen Sie sicherstellen, dass Alice Leseberechtigung für foo.jarund Ausführungsberechtigung für /home/davidund hat /home/david/for_alice. Die Ausführungsberechtigung für ein Verzeichnis ist erforderlich, um über den Namen auf Dateien in diesem Verzeichnis zuzugreifen; die Leseberechtigung für ein Verzeichnis ist erforderlich, um die Namen der Dateien im Verzeichnis aufzulisten. Leseberechtigung für die Verzeichnisse ist nicht unbedingt erforderlich, aber praktischer, insbesondere wenn Alice eine GUI zum Durchsuchen der Dateien verwenden wird.

Momentan verfügt Ihr Home-Verzeichnis über die Berechtigungen rwx------, d. h. nur Sie können auf die darin enthaltenen Dateien zugreifen.

Wenn die Dateien lokal sind und ACL-Tools verfügbar sind, können Sie Alice Zugriff gewähren. Die folgenden Befehle geben Alice Lesezugriff auf for_alicealle darunter liegenden Dateien, erlauben ihr aber nicht, die Dateien in Ihrem Home-Verzeichnis aufzulisten (sie kann trotzdem auf Dateien in Ihrem Home-Verzeichnis zugreifen, wenn sie deren Namen errät):

setfacl -m user:alice:x ~
setfacl -Rd -m user:alice:rX ~/for_alice
setfacl -R -m user:alice:rX ~/for_alice

Wenn ACLs nicht möglich sind, müssen Sie gruppenweiten oder systemweiten Zugriff erlauben.

chmod +x ~
chmod -R a+rX ~/public

Antwort3

chmod o+r /path/to/filegewährt allgemeinen Lesezugriff auf die Datei, die Ihre Freunde kopieren können sollen.

chmod -R o+r /path/to/directory; find /path/to/directory -type d -exec chmod o+x {} \+um anderen Benutzern das Lesen aller Dateien in zu ermöglichen /path/to/directory. Wie Patrick anmerkte, müssen Sie chmod o+rxauch in allen übergeordneten Verzeichnissen world read und execute () hinzufügen. Mir fällt nicht spontan die einfachste Möglichkeit ein, dies zu skripten, aber ich bin sicher, dass es möglich ist.

verwandte Informationen