remove chmod 755: fixes #5941
Docker-DCO-1.1-Signed-off-by: Tibor Vass <teabee89@gmail.com> (github: tiborvass)
This commit is contained in:
parent
29a192ca4d
commit
56a53c72d2
|
@ -235,7 +235,9 @@ being built (also called the *context* of the build) or a remote file URL.
|
||||||
`<dest>` is the absolute path to which the source will be copied inside the
|
`<dest>` is the absolute path to which the source will be copied inside the
|
||||||
destination container.
|
destination container.
|
||||||
|
|
||||||
All new files and directories are created with mode 0755, uid and gid 0.
|
All new files and directories are created with a uid and gid of 0.
|
||||||
|
|
||||||
|
In the case where `<src>` is a remote file URL, the destination will have permissions 600.
|
||||||
|
|
||||||
> **Note**:
|
> **Note**:
|
||||||
> If you build using STDIN (`docker build - < somefile`), there is no
|
> If you build using STDIN (`docker build - < somefile`), there is no
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
FROM scratch
|
||||||
|
ADD . /
|
|
@ -5,5 +5,5 @@ RUN touch /exists
|
||||||
RUN chown dockerio.dockerio /exists
|
RUN chown dockerio.dockerio /exists
|
||||||
ADD test_file /
|
ADD test_file /
|
||||||
RUN [ $(ls -l /test_file | awk '{print $3":"$4}') = 'root:root' ]
|
RUN [ $(ls -l /test_file | awk '{print $3":"$4}') = 'root:root' ]
|
||||||
RUN [ $(ls -l /test_file | awk '{print $1}') = '-rwxr-xr-x' ]
|
RUN [ $(ls -l /test_file | awk '{print $1}') = '-rw-r--r--' ]
|
||||||
RUN [ $(ls -l /exists | awk '{print $3":"$4}') = 'dockerio:dockerio' ]
|
RUN [ $(ls -l /exists | awk '{print $3":"$4}') = 'dockerio:dockerio' ]
|
||||||
|
|
|
@ -7,5 +7,5 @@ ADD test_dir /test_dir
|
||||||
RUN [ $(ls -l / | grep test_dir | awk '{print $3":"$4}') = 'root:root' ]
|
RUN [ $(ls -l / | grep test_dir | awk '{print $3":"$4}') = 'root:root' ]
|
||||||
RUN [ $(ls -l / | grep test_dir | awk '{print $1}') = 'drwxr-xr-x' ]
|
RUN [ $(ls -l / | grep test_dir | awk '{print $1}') = 'drwxr-xr-x' ]
|
||||||
RUN [ $(ls -l /test_dir/test_file | awk '{print $3":"$4}') = 'root:root' ]
|
RUN [ $(ls -l /test_dir/test_file | awk '{print $3":"$4}') = 'root:root' ]
|
||||||
RUN [ $(ls -l /test_dir/test_file | awk '{print $1}') = '-rwxr-xr-x' ]
|
RUN [ $(ls -l /test_dir/test_file | awk '{print $1}') = '-rw-r--r--' ]
|
||||||
RUN [ $(ls -l /exists | awk '{print $3":"$4}') = 'dockerio:dockerio' ]
|
RUN [ $(ls -l /exists | awk '{print $3":"$4}') = 'dockerio:dockerio' ]
|
||||||
|
|
|
@ -152,6 +152,21 @@ func TestAddWholeDirToRoot(t *testing.T) {
|
||||||
logDone("build - add whole directory to root")
|
logDone("build - add whole directory to root")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestAddEtcToRoot(t *testing.T) {
|
||||||
|
buildDirectory := filepath.Join(workingDirectory, "build_tests", "TestAdd")
|
||||||
|
buildCmd := exec.Command(dockerBinary, "build", "-t", "testaddimg", "EtcToRoot")
|
||||||
|
buildCmd.Dir = buildDirectory
|
||||||
|
out, exitCode, err := runCommandWithOutput(buildCmd)
|
||||||
|
errorOut(err, t, fmt.Sprintf("build failed to complete: %v %v", out, err))
|
||||||
|
|
||||||
|
if err != nil || exitCode != 0 {
|
||||||
|
t.Fatal("failed to build the image")
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteImages("testaddimg")
|
||||||
|
logDone("build - add etc directory to root")
|
||||||
|
}
|
||||||
|
|
||||||
// Issue #5270 - ensure we throw a better error than "unexpected EOF"
|
// Issue #5270 - ensure we throw a better error than "unexpected EOF"
|
||||||
// when we can't access files in the context.
|
// when we can't access files in the context.
|
||||||
func TestBuildWithInaccessibleFilesInContext(t *testing.T) {
|
func TestBuildWithInaccessibleFilesInContext(t *testing.T) {
|
||||||
|
|
|
@ -438,9 +438,6 @@ func (b *buildFile) addContext(container *daemon.Container, orig, dest string, r
|
||||||
if err := os.Lchown(path, uid, gid); err != nil && !os.IsNotExist(err) {
|
if err := os.Lchown(path, uid, gid); err != nil && !os.IsNotExist(err) {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := os.Chmod(path, 0755); err != nil && !os.IsNotExist(err) {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
return nil
|
return nil
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue