私は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/directory
。chmod o+rx
私はこれをスクリプト化する最も簡単な方法がわかりませんが、可能であると確信しています。