Skip to content

Commit 191cefb

Browse files
committed
Fix overlay and user namespace permissions
All underlay dirs need proper remapped ownership. This bug was masked by the fact that the setupInitLayer code was chown'ing the dirs at startup time. Since that bug is now fixed, it revealed this permissions issue. Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
1 parent 6eeff92 commit 191cefb

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

daemon/graphdriver/overlay/overlay.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -270,10 +270,10 @@ func (d *Driver) Create(id, parent, mountLabel string) (retErr error) {
270270
parentRoot := path.Join(parentDir, "root")
271271

272272
if s, err := os.Lstat(parentRoot); err == nil {
273-
if err := os.Mkdir(path.Join(dir, "upper"), s.Mode()); err != nil {
273+
if err := idtools.MkdirAs(path.Join(dir, "upper"), s.Mode(), rootUID, rootGID); err != nil {
274274
return err
275275
}
276-
if err := os.Mkdir(path.Join(dir, "work"), 0700); err != nil {
276+
if err := idtools.MkdirAs(path.Join(dir, "work"), 0700, rootUID, rootGID); err != nil {
277277
return err
278278
}
279279
if err := idtools.MkdirAs(path.Join(dir, "merged"), 0700, rootUID, rootGID); err != nil {
@@ -303,10 +303,10 @@ func (d *Driver) Create(id, parent, mountLabel string) (retErr error) {
303303
}
304304

305305
upperDir := path.Join(dir, "upper")
306-
if err := os.Mkdir(upperDir, s.Mode()); err != nil {
306+
if err := idtools.MkdirAs(upperDir, s.Mode(), rootUID, rootGID); err != nil {
307307
return err
308308
}
309-
if err := os.Mkdir(path.Join(dir, "work"), 0700); err != nil {
309+
if err := idtools.MkdirAs(path.Join(dir, "work"), 0700, rootUID, rootGID); err != nil {
310310
return err
311311
}
312312
if err := idtools.MkdirAs(path.Join(dir, "merged"), 0700, rootUID, rootGID); err != nil {

0 commit comments

Comments
 (0)