Мне интересно, знает ли кто-нибудь хороший способ частичного дублирования (жесткой ссылки) файлов между двумя структурами каталогов?
Мой текущий откат - это сценарий, вызываемый cron.
В качестве фона:
Я спрашиваю, поскольку у меня есть две группы, которым обеим нужен доступ к телу файлов в структуре каталогов, обслуживаемой через HTTP с помощью Tomcat. Привилегированная группа может получить доступ ко всем файлам, а менее привилегированная группа может получить доступ только к «общедоступному» подмножеству. Эти наборы не привязаны к конкретным каталогам, но другой класс файлов можно определить по их соглашению об именах (но не по расширению).
Поэтому моя текущая идея состоит в том, чтобы обслуживать два отдельных каталога, один из которых содержит только частные (возможно, защищенные паролем), а другой - общедоступный. Затем для запуска некоторого периодического процесса, посредством которого я создаю жесткие ссылки из общедоступных файлов, чтобы они появлялись в частных каталогах для удобства привилегированных пользователей. Я выбираю ссылку в этом направлении, поскольку важнее, чтобы файл был немедленно доступен для непривилегированных пользователей. (Priv = admin, unpriv = обычный пользователь)
Я надеюсь, что в этом есть смысл. Попробую уточнить, есть ли у кого вопросы.
Я бы использовал символические ссылки.
Вы можете использовать этот сценарий Bash:
#!/bin/bash
ln -s $1 $2/$(basename $1)
с чем-то вроде этих двух команд:
find unpriv_criteria -exec ./linkscript {} /unpriv/dir \;
find priv_criteria -exec ./linkscript {} /priv/dir \;
Что-то вроде того, что предложил Деннис, могло бы работать в cron-работе или подобном.
Если бы это был Linux, я бы указал вам на inotify что позволит вам устранить задание cron и задержку в жестких ссылках, отражающих исходный каталог.
Однако, похоже, этого не существует в Solaris.
Если жесткие ссылки не слишком критичны, работа cron, вероятно, подойдет.