2014-01-14 10:36:59 +08:00
|
|
|
package lxc
|
2013-12-19 02:16:26 +08:00
|
|
|
|
|
|
|
|
import (
|
2014-06-20 02:07:57 +08:00
|
|
|
"fmt"
|
2015-01-13 02:43:33 +08:00
|
|
|
|
|
|
|
|
"github.com/docker/libcontainer"
|
2014-07-25 06:25:29 +08:00
|
|
|
"github.com/docker/libcontainer/namespaces"
|
|
|
|
|
"github.com/docker/libcontainer/utils"
|
2013-12-19 02:16:26 +08:00
|
|
|
)
|
|
|
|
|
|
2014-08-09 04:18:18 +08:00
|
|
|
func finalizeNamespace(args *InitArgs) error {
|
2014-06-20 02:57:09 +08:00
|
|
|
if err := utils.CloseExecFrom(3); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
2015-01-13 02:43:33 +08:00
|
|
|
if err := namespaces.SetupUser(&libcontainer.Config{
|
|
|
|
|
User: args.User,
|
|
|
|
|
}); err != nil {
|
2014-06-20 02:07:57 +08:00
|
|
|
return fmt.Errorf("setup user %s", err)
|
|
|
|
|
}
|
2014-06-20 02:57:09 +08:00
|
|
|
if err := setupWorkingDirectory(args); err != nil {
|
|
|
|
|
return err
|
|
|
|
|
}
|
2014-06-20 02:07:57 +08:00
|
|
|
return nil
|
|
|
|
|
}
|