Правильный способ копирования текста из файла, открытого в Vim в одном терминале, в другой файл, открытый с помощью VIM в другом терминале?

Программа может получить доступ к файлу, если любое из следующих условий верно для этого файла, а также для любых каталогов, которые необходимо пройти:

  • пользователь, от имени которого запущена программа, имеет доступ;
  • любая из групп, от имени которых работает программа, имеет доступ;
  • Доступ есть у всех.

(На самом деле это верно не во всех случаях, но здесь это достаточно хорошее приближение.)

Обратите внимание на то, какие пользователи являются членами каких групп, не всплывает. Эта информация используется только тогда, когда пользователь входит в систему :, она заставляет программы в этом сеансе входа работать как эти группы. Таким образом, добавление пользователя в группу не может решить вашу проблему.

Вам необходимо предоставить пользователю rslsyncдоступ к каталогу resilio, а также ко всей цепочке каталогов, ведущих туда. Для доступа к /home/liam/sync/resilioпрограмме требуется атрибут разрешения на обход каталога (x, что означает «выполнение» для обычных файлов )на /, /home, /home/liam, /home/liam/syncи /home/liam/sync/resilio, а также разрешение на чтение /home/liam/sync/resilio.

Это можно сделать с помощью списка контроля доступа:

setfacl -m u:rslsync:x /home/liam /home/liam/sync
setfacl -R -m u:rslsync:rx /home/liam/sync/resilio
setfacl -R -d -m u:rslsync:rx /home/liam/sync/resilio

Первая строка гарантирует, что rslsync может пройти через ведущие каталоги. Вторая строка дает rslsync доступ ко всему дереву каталогов с корнем /home/liam/sync/resilio. Третья строка с флагом -dзадает ACL по умолчанию для вновь созданных файлов — без этого rslsync не сможет прочитать ни один вновь созданный файл.

Некоторые приложения могут создавать файлы с более строгим ACL, чем ACL по умолчанию. Это может особенно произойти, когда файлы копируются из другого места. В этом случае rslsync не сможет прочитать эти файлы. Существует другой подход, который гарантирует, что rslsync всегда сможет прочитать файлы, который заключается в создании альтернативного представления дерева в /home/liam/sync/resilioс другими разрешениями. Вы можете сделать это с помощью bindfs . Обратите внимание, что вы должны выполнить монтирование от имени пользователя root, чтобы разрешить другому пользователю доступ к файловой системе bindfs. Вы можете использовать следующую строку в/etc/fstab:

bindfs#/home/liam/sync/resilio /var/lib/rslsync/resilio fuse ro,force-user=rslsync,perms=u+rD:go=

1
06.12.2019, 23:53
1 ответ

Я думаю, вы не помните полные команды, вы, кажется, пропустили "в начале.

На самом деле "+yдергать и "+pставить. "+— ссылка на регистр буфера обмена.

Для копирования:"+y

Вставить:"+p

См.:help "+для справки по регистру буфера обмена.

2
27.01.2020, 23:29

Теги

Похожие вопросы