mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
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
6 changed files with 22 additions and 6 deletions
|
@ -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
|
||||
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**:
|
||||
> If you build using STDIN (`docker build - < somefile`), there is no
|
||||
|
|
2
integration-cli/build_tests/TestAdd/EtcToRoot/Dockerfile
Normal file
2
integration-cli/build_tests/TestAdd/EtcToRoot/Dockerfile
Normal file
|
@ -0,0 +1,2 @@
|
|||
FROM scratch
|
||||
ADD . /
|
|
@ -5,5 +5,5 @@ RUN touch /exists
|
|||
RUN chown dockerio.dockerio /exists
|
||||
ADD test_file /
|
||||
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' ]
|
||||
|
|
|
@ -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 $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 $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' ]
|
||||
|
|
|
@ -152,6 +152,21 @@ func TestAddWholeDirToRoot(t *testing.T) {
|
|||
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"
|
||||
// when we can't access files in the context.
|
||||
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) {
|
||||
return err
|
||||
}
|
||||
if err := os.Chmod(path, 0755); err != nil && !os.IsNotExist(err) {
|
||||
return err
|
||||
}
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue