CIFS 설치 디렉토리 중 하나에서 이상한 동작이 발생했습니다. 예를 들어, cp /mnt/source/movie.mp4 /mnt/target/
처음으로 성공적으로 실행되었을 때 파일을 디렉토리에 복사했습니다 . 그러나 동일한 명령을 사용하여 파일을 덮어쓰려고 하면 cp /mnt/source/movie.mp4 /mnt/target/
시스템이 Permission Denied를 반환합니다.
파일 이름 문제 때문인 것 같습니다. 파일 이름을 바꾸면 파일을 덮어쓸 수 있는 것 같습니다. 그런 다음 파일 이름을 다시 같은 이름으로 바꾸었고 문제가 사라졌습니다. 을 사용하여 원래 파일 이름과 새 이름을 확인했는데 file -bi movie.mp4
둘 다 반환되었습니다 video/mp4; charset=binary
. 파일 이름에 어떤 문제가 있을 수 있나요?
또 다른 테스트도 해봤는데 파일을 처음 복사한 후 대상 파일 권한이 555로 변경된 것을 발견했습니다. 777로 변경한 뒤 cp
다시 원본폴더로 돌아가서 실행했더니 덮어쓰기가 가능해졌습니다. 그러나 파일 이름을 먼저 바꾸거나 직접 새 파일을 만들면 복사된 대상 파일에는 777 권한이 있으며 마찬가지로 대상 폴더에 생성된 모든 새 파일에 대해서도 777 권한을 얻게 됩니다. 원본 파일의 파일 이름이 대상 폴더의 파일 권한에 영향을 미치는 이유는 무엇입니까?
환경에 관한 몇 가지 정보
대상 폴더의 폴더 권한은 입니다 drwxrwxrwx 2 root root 0 Apr 12 23:44 20180427031647
. 사용자를 사용하여 명령을 root
실행하고 있습니다 cp
.
- 커널 버전: 3.10.0-1062.9.1.el7.x86_64
- CentOS 버전: 7.7.1908(코어)
- cifs-utils-6.2-10.el7.x86_64
fstab 마운트 매개변수:
vers=2.0,credentials=/root/.credentials,file_mode=0777,dir_mode=0777,iocharset=utf8