Как включить символическую ссылку в этом случае

Я не могу классифицировать этот вопрос в Ubuntu, так как он не имеет к этому никакого отношения. Но я знаю, что люди здесь могут определенно ответить на это. Я вхожу в один из моих окон развертывания, используя SSH (здесь нет ubuntu).

Я работаю в инструменте под названием TeamCity, который использует папку с именем «.BuildServer» в домашнем каталоге пользователя. Эта папка может увеличиваться в размерах при запуске приложения, но текущему пользователю предоставляется только ограниченный объем пространства. Но хорошо, что я получил доступ к папке вне папки / home / deploy (deploy, будучи пользователем здесь). Теперь я хочу связать этот .BuildServer в каталоге / home / deploy с другой папкой, на которую я получил разрешение (то есть все файлы должны быть перенаправлены в этот каталог)

Надеюсь, мой вопрос был ясен пожалуйста, помогите.

1
задан 13 January 2011 в 23:11

1 ответ

У вас есть несколько вариантов, если вы хотите указать /home/deploy/.BuildServer на другой каталог, /under_root/somefolder/.

1) Создать символическую ссылку

ln -s /under_root/somefolder/ /home/deploy/.BuildServer

Сначала вы должны удалить каталог .BuildServer. В качестве альтернативы вы можете переместить каталог .BuildServer в новое место:

mv /home/deploy/.BuildServer/ /under_root/somefolder/

Теперь выполните команду ln (см. Выше). Примечание: пользователь, имеющий доступ к /under_root/somefolder/, должен иметь доступ к этой папке. Скажем, пользователь deploy, somefolder принадлежит deploy, но /under_root принадлежит другому пользователю. Теперь у вас есть две возможности: пусть deploy будет членом группы, используется для /under_root и дать добавить бит выполнения в группу. (chmod g+x /under_root). Другой случай состоит в том, что развертывание не может иметь группировку над /under_root. В этом случае убедитесь, что кто-нибудь может погрузиться в каталог: chmod o+x /under_root). Это должно быть сделано для каждой папки «выше» /under_root/somefolder.

2) Bind mount

Это может сделать только пользователь с правами root (обратитесь к системному администратору).

mount --bind /under_root/somefolder /home/deploy/.BuildServer

Используя этот метод, нет необходимости связываться с разрешениями /under_root. Другое преимущество перед символическими ссылками состоит в том, что этот метод работает, даже если ssh chroot к /home/deploy.

0
ответ дан 13 January 2011 в 23:11

Другие вопросы по тегам:

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