-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rootfs with symlinks path components #586
Comments
Maybe @crosbymichael will explain why that test was put in. The spec does not specify one way or the other whether such limitations MUST or MAY be placed on the rootfs. It went in a long time ago maybe it's time to pull it out? |
There are various security issues and bugs that happen when rootfs is a symlink. If you want it to live somewhere else, you should use a bind mount. There is alot of bugs and weird things that happen when you have this as a symlink so that is why we made this a requirement in libcontainer. |
what kinds of issues? Would not these be fixed if any symlink in the rootfs is resolved before using it (as my hacky patch does)? |
@crosbymichael is there anyway to force runc to follow the symlink? |
nvm, I'm re-rendering config.json instead. It works just like a symlink. |
@giuseppe Well, for one you can change the symlink after runc has started and now a higher level runner will think that |
…-required-type specs-go/config: fix required items type
@crosbymichael a warning message more grokable than
would be nice. An addition such as
|
Oh, I only now realized this is most probably not the right project to point my suggestion at (as I'm not even using |
@eMPee584 no problem. How are you getting a symlinked rootfs when using docker? |
is there a reason why it is not possible to run a container from a rootfs which has a symlink in its path?
I see it is checked explicitly by rootfs(config *configs.Config) in libcontainer/configs/validate/config.go, but can the evaluated path be used instead of returning an error?
For a quick test I tried this patch:
but I suppose ConfigValidator is not meant to modify the configuration. What would be the best place to store this information?
The text was updated successfully, but these errors were encountered: