允许其他用户从我的文件夹复制文件吗?

允许其他用户从我的文件夹复制文件吗?

我正在使用 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,您需要确保Alice对 和 具有读取权限和foo.jar执行权限/home/david/home/david/for_alice需要目录的执行权限才能通过名称访问该目录中的文件;需要对目录的读取权限才能列出目录中的文件名称。目录的读取权限并不是严格需要的,但它更方便,特别是当 Alice 要使用 GUI 浏览文件时。

目前,您的主目录具有权限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.正如 Patrick 指出的,您还需要chmod o+rx在所有父目录上添加 world read 和execute ( )。我不知道编写此脚本的最简单方法,但我确信这是可能的。

相关内容