他のユーザーが自分のフォルダからファイルをコピーできるようにしますか?

他のユーザーが自分のフォルダからファイルをコピーできるようにしますか?

私はUbuntuを使用しており、このフォルダにjarファイルがあります。/export/home/david

machineBユーザーとしてログインしましたdavid

他のユーザーも同じコンピュータにログインしています。他のユーザーが自分の場所から上記のjarファイルをコピーしたいと思います。

しかし、どういうわけか彼らは許可が拒否されたので、そうすることはできませんでした。誰もがそのフォルダからファイルをコピーできるように、jarファイルまたは自分のフォルダにいくつかの権限を追加する方法はありますか?

直す:-

以下は私が得た結果です -

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

答え1

まあ、何らかの奇妙な理由で、あなたのディレクトリ$HOMEはあなただけがアクセスできます。これは私がおなじみのシステムのデフォルト設定ではなく、あなたまたはあなたのシステム管理者がこの方法で設定した可能性があります。

とにかく、あなたがしなければならないことは、誰もがあなたの仕事へのアクセスを許可することです$HOME。これは、人々が自分の仕事を共有できるようにするほとんどのマルチユーザーシステムの標準です。次のコマンドを実行してください。

chmod a+rx ~/

これにより、あなたの家の権限がに設定され、rwxr-xr-x誰でもあなたにアクセスできます$HOME

答え2

他のユーザーにファイルへの読み取りアクセス権を付与するには、ファイルへの読み取りアクセス権と、ファイルを指すすべてのディレクトリに対する実行アクセス権が必要です。たとえば、Aliceが読み取りを許可するには、Aliceに、およびへの読み取り権限と実行権限が/home/david/for_alice/foo.jarあることを確認する必要があります。名前でディレクトリ内のファイルにアクセスするにはディレクトリに対する実行権限が必要であり、ディレクトリのファイル名を一覧表示するにはディレクトリに対する読み取り権限が必要です。ディレクトリへの読み取り権限は必ずしも必要ではありませんが、特にAliceがGUIを使用してファイルを閲覧したい場合は、より便利です。foo.jar/home/david/home/david/for_alice

現在、あなたのホームディレクトリには権限がありますrwx------。これは、あなただけがその中のファイルにアクセスできることを意味します。

ファイルがローカルにあり、ACLツールを使用できる場合は、Aliceにアクセス権を付与できます。次のコマンドは、Aliceにfor_alice以下のすべてのファイルに対する読み取り権限を付与しますが、ホームディレクトリにあるファイルを一覧表示することはできません。 (彼女がファイル名を推測すると、ホームディレクトリ内のファイルにアクセスでき続けます。)

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

ACLが利用できない場合は、グループ全体またはシステム全体のアクセスを許可する必要があります。

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

答え3

chmod o+r /path/to/file友達がコピーできるようにするファイルへの世界的な読み取りアクセスを許可します。

chmod -R o+r /path/to/directory; find /path/to/directory -type d -exec chmod o+x {} \+他のユーザーが/path/to/directorychmod o+rx私はこれをスクリプト化する最も簡単な方法がわかりませんが、可能であると確信しています。

関連情報