私は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 に の/home/david/for_alice/foo.jar
読み取り権限foo.jar
と の実行権限があることを確認する必要があります/home/david
。/home/david/for_alice
ディレクトリの実行権限は、そのディレクトリ内のファイルに名前でアクセスするために必要です。ディレクトリの読み取り権限は、ディレクトリ内のファイル名を一覧表示するために必要です。ディレクトリの読み取り権限は厳密には必要ありませんが、Alice が GUI を使用してファイルを参照する場合は特に便利です。
現時点では、ホーム ディレクトリには権限がありrwx------
、その中のファイルにアクセスできるのはあなただけです。
ファイルがローカルにあり、ACL ツールが利用可能な場合は、Alice にアクセス権を付与できます。次のコマンドは、Alice にfor_alice
その下のすべてのファイルへの読み取りアクセス権を付与しますが、ホーム ディレクトリ内のファイルを一覧表示することは許可しません (名前を推測すれば、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
。Patrick が指摘したように、chmod o+rx
すべての親ディレクトリにも world read and execute ( ) を追加する必要があります。これをスクリプト化する最も簡単な方法はすぐには思いつきませんが、可能だとは思います。