Файлы липких битов и сокетов в XDG_RUNTIME_DIR

Используйте аутентификацию с открытым ключом

На исходном хосте запустите это только один раз:

ssh-keygen -t rsa # ENTER to every field
ssh-copy-id myname@somehost

Вот и все, после этого вы сможете использовать ssh без пароля.

Переходя к вашему вопросу, используйте команду ниже:

ssh apple@192.168.1.117 'ls -l /applications'

4
12.04.2017, 15:40
2 ответа

Часть спецификации XDG Base Directory , которую вы процитировали, говорит об установке липкого бита для файлов :

Файлы в этом каталоге МОГУТ подвергаться периодической очистке- вверх. Чтобы гарантировать, что ваши файлы не будут удалены, их отметка времени доступа должна изменяться не реже одного раза в 6 часов монотонного времени, или бит «липкости» должен быть установлен в файле .

Спецификация здесь несколько двусмысленна, поскольку файл может означать каждый объект файловой системы , объект файловой системы вне каталога или обычный файл в зависимости от в контексте. Но липкий бит в каталогах имеет особый эффект в Linux и даже называется по-другому при использовании в каталогах в man-странице chmod (1) :

Флаг ограниченного удаления или липкий бит - это один бит, чья интерпретация зависит от типа файла. Для каталогов это не позволяет непривилегированным пользователям удалять или переименовывать файл в каталоге , если только они не владеют файлом или каталогом; это называется флагом ограниченного удаления для каталога и обычно встречается в каталогах, доступных для записи всем, таких как / tmp.

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

Но поскольку спецификация не является полностью однозначной, она будет зависеть от реализации механизма очистки вашего дистрибутива. Похоже, что в настоящее время такой периодической очистки нет, по крайней мере, в Fedora и на более поздних версиях. Linux Mint, но поскольку это может измениться в будущем и неизвестно, как дистрибутивы будут интерпретировать эту часть спецификации, безопаснее установить ее для каждого файла / сокета, который вы хотите исключить из периодической очистки.

РЕДАКТИРОВАТЬ : Для дистрибутивов на основе systemd , pam_systemd отвечает за управление $ XDG_RUNTIME_DIR.В настоящее время он выполняет создание только при первом входе в систему и удаление при последнем выходе из системы. Также systemd создает сокеты в подкаталогах $ XDG_RUNTIME_DIR и не устанавливает бит закрепления ни на чем. Это убедительно свидетельствует о том, что по крайней мере ни один из дистрибутивов на основе systemd еще не реализует периодическую очистку.

2
27.01.2020, 20:59

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

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

  • Найти, какая программа выполняет очистку, и прочитать ее исходный код.
  • Проведите эксперимент: поместите несколько файлов / сокетов в каталог, некоторые с установленным липким битом, некоторые - без него, посмотрите, что произойдет. (Используйте фиктивные файлы: те, которые ни для чего не используются.)
0
27.01.2020, 20:59

Теги

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