Разрешить другому пользователю копировать файлы из моей папки?

Разрешить другому пользователю копировать файлы из моей папки?

Я работаю с 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

Чтобы предоставить кому-либо доступ на чтение к вашему файлу, у него должны быть права на чтение файла и права на выполнение всех каталогов, ведущих к файлу. Например, чтобы разрешить Алисе читать /home/david/for_alice/foo.jar, вам нужно убедиться, что у Алисы есть права на чтение foo.jarи права на выполнение /home/davidи /home/david/for_alice. Права на выполнение каталога необходимы для доступа к файлам внутри этого каталога по их имени; права на чтение каталога необходимы для перечисления имен файлов в каталоге. Права на чтение каталогов не являются строго обязательными, но они более удобны, особенно если Алиса собирается использовать графический интерфейс для просмотра файлов.

На данный момент ваш домашний каталог имеет разрешения rwx------, т.е. только вы можете получить доступ к файлам в нем.

Если файлы локальные и доступны инструменты ACL, вы можете предоставить доступ Алисе. Следующие команды предоставляют Алисе доступ на чтение for_aliceи все файлы в них, но не позволяют ей перечислять файлы в вашем домашнем каталоге (она все равно может получить доступ к файлам в вашем домашнем каталоге, если угадает их имя):

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

Если использование списков контроля доступа невозможно, вам придется разрешить доступ на уровне всей группы или всей системы.

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также нужно будет добавить world read и execute ( ) для всех родительских каталогов. Я не знаю навскидку самого простого способа написать этот скрипт, но я уверен, что это возможно.

Связанный контент