символьные ссылки на основе идентификатора пользователя

Я задаюсь вопросом, как создать в Linux что-то как символьная ссылка, на которую wil указывают на различные каталоги для различных пользователей, видящих его. Я искал в течение долгого времени itand, найденный чем-то названным hlfsd - Конечно, общие символьные ссылки не могут сделать этого, потому что они основывают на ядре "материал", но я нашел что-то, что может решить эту проблему.

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

В основном, что я хочу сделать:

Позволяет полагают, что у нас есть сервер с файловой структурой A/{a1 a2}/{b1 b2}/{c1 c2} в этих папках, существуют большие файлы и не должны быть скопированы по сети. Позволяет говорят, что пользователь U1 хочет получить доступ к этим файлам, таким образом, он может сделать символьную ссылку (пока неплохо).

Проблема, когда он хочет получить доступ к этой структуре, и он хочет иметь локально копию только, например, A/a1/b1/c1. Конечно, мы можем сделать много символьных ссылок локально, которые укажут на те папки на сервере, но затем у нас никого нет очень важного для меня функция - когда кто-то, например, добавляет папку A/a1/b1/c3, затем этот пользователь, который был связан с этой файловой структурой и имеет A/a1/b1/c1 локально, не будет видеть изменений, потому что все его ссылки были созданы вручную.

1
задан 04.12.2010, 05:51

2 ответа

Простое решение, которое я вижу, - то, что в каждой папке существует скрытая папка .realfiles в котором реальные папки и папки на сервере как A/a1 или A/a1/b2 символьные ссылки на папку выше A, таким образом, A/a1 символьная ссылка на ../MOUNT/.realfiles/a1 и A/a1/b2 символьная ссылка на../MOUNT/.realfiles/a1/.realfiles/b1.

Теперь в основном МОНТИРОВАНИЕ на сервере является символьной ссылкой на A., но если будет возможно изменить ссылки в расчете на пользователя, что для каждого пользователя папка MOUNT укажет на другой каталог, затем мы сможем изменить некоторые ссылки, как мы хотим.

(Я знаю эту специальную ситуацию, но я приложил все усилия для объяснения этого хороший),

0
ответ дан 17.12.2019, 00:29

FreeBSD раньше имел некоторую специальную обработку символьной ссылки, я думаю названный variadic символьными ссылками (хотя поиск Google того термина не находит то, что я хотел). Идея, что Вы не делаете символьной ссылки на определенный путь, но строки, которая может иметь замены.

Мало того, что Вы завинчены в том, что Linux не поддерживает это, но более трудно реализовать на пользовательский материал, чем Вы думаете. В *BSD, это было сделано сделать символьные ссылки для простых строк, которые ядро будет знать о, как архитектура (т.е. i686 по сравнению с x86_64). Затем symlnik от/opt/someapp/bin =>/opt/someapp/$ {дуга} / мусорное ведро имеет некоторый смысл. Но Вы хотите сделать на пользователя. Помните, что символьные ссылки разрешены в ядре, и ядро не знает Ваше имя или размещает dir. Это знает Ваш идентификатор пользователя, и это об этом. Это должно было бы перейти назад и вперед к непривилегированному режиму для получения любой информации о Вас. Не невозможный, но очень хитрый. Затем как setuid программы работали бы?

Короче говоря, я знаю то, что Вы имеете в виду, знаете то, что Вы хотите, но Вы вряд ли доберетесь там. Возможно, предохранитель выезда и видит, есть ли у них что-нибудь, что можно использовать.

Не совсем, что Вы сказали, но возможно можно сделать это с управлением исходным кодом. ClearCase (payware) раньше имел модуль ядра, который сделает большую часть того, что Вы хотите, не уверенный, если он все еще делает. Даже без модуля файловой системы ядра, можно, вероятно, ударить по распределенному управлению исходным кодом в 60-70% того, что Вы хотите.

1
ответ дан 17.12.2019, 00:29

Теги

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