Я не могу классифицировать этот вопрос в Ubuntu, так как он не имеет к этому никакого отношения. Но я знаю, что люди здесь могут определенно ответить на это. Я вхожу в один из моих окон развертывания, используя SSH (здесь нет ubuntu).
Я работаю в инструменте под названием TeamCity, который использует папку с именем «.BuildServer» в домашнем каталоге пользователя. Эта папка может увеличиваться в размерах при запуске приложения, но текущему пользователю предоставляется только ограниченный объем пространства. Но хорошо, что я получил доступ к папке вне папки / home / deploy (deploy, будучи пользователем здесь). Теперь я хочу связать этот .BuildServer в каталоге / home / deploy с другой папкой, на которую я получил разрешение (то есть все файлы должны быть перенаправлены в этот каталог)
Надеюсь, мой вопрос был ясен пожалуйста, помогите.
У вас есть несколько вариантов, если вы хотите указать /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
.