Разрешения моего домашнего каталога разрешают только мне доступ к нему. Можно ли поместить файл в мой домашний каталог с ... скажем ... полными разрешениями и создать символическую ссылку на него, чтобы другие пользователи могли получить доступ к этому файлу в моей домашней папке? Система Ubuntu Karmic.
2 ответа
Это возможно, но не с символическими ссылками. Это называется жесткие ссылки. Использование:
ln /home/you/the-file /some/public/folder/
Ссылка на файл "the-file" будет создана в /some/public/folder/the-file
.
Жесткие ссылки указывают на один и тот же индекс (файл, каталог, ...). Символические ссылки имеют свой собственный индекс и не будут работать, например, в chroot. Поскольку жесткие ссылки ссылаются на inode вместо пути, его можно использовать только в одной файловой системе.
Другим способом было бы связать горы. Это потребует прав суперпользователя для запуска команды mount
и может использоваться только для каталогов. Использование:
sudo mount --bind /home/you/the-folder-to-be-shared/ /some/public/folder
/some/public/folder
должна быть существующей папкой. Он не должен быть пустым, хотя рекомендуется, потому что содержимое не будет видно после монтирования /home/you/the-folder-to-be-shared
в /some/public/folder
.
Если вы решили удалить эту общую папку из /some/public/folder
, запустите:
sudo umount /some/public/folder
Проще всего сделать каталог в вашем домашнем каталоге, установить для него любое разрешение, которое вы хотите прочитать для пользователей, а затем установить для домашнего каталога значение 701.
Для каталогов разрешение на чтение необходимо для составления списка содержимого, выполнения для ввода (как для перехода, как это делается в разделе /path /to /dir в ls), и записи для создания файлов (когда вместе с execute).
ls /home/[user] -- permission denied ls /home/[user]/[shared dir] -- allowed
Кто-нибудь знает обратную сторону этого? Прокомментируйте, пожалуйста.