![`cp`는 파일/디렉토리에 쓸 수 없지만 `cat >` 및 `echo`는 잘 작동합니다.](https://linux55.com/image/130820/%60cp%60%EB%8A%94%20%ED%8C%8C%EC%9D%BC%2F%EB%94%94%EB%A0%89%ED%86%A0%EB%A6%AC%EC%97%90%20%EC%93%B8%20%EC%88%98%20%EC%97%86%EC%A7%80%EB%A7%8C%20%60cat%20%26gt%3B%60%20%EB%B0%8F%20%60echo%60%EB%8A%94%20%EC%9E%98%20%EC%9E%91%EB%8F%99%ED%95%A9%EB%8B%88%EB%8B%A4..png)
RHEL 7.2 기반 시스템에서 파일을 smb 설치 위치에 복사해 보았습니다.
cd /target
cp /tmp/foo .
이 작업은 다음 오류 메시지와 함께 실패합니다.
cp: cannot create regular file ‘./foo’: Operation not permitted
0바이트 크기의 파일이 생성된 것을 볼 수 있습니다.
I cat
또는 echo Thisisfoobar>foo
this가 제대로 작동하고 파일에 내가 원하는 내용이 포함되어 있는 경우입니다. 하지만 더 이상한 점은 내가 할 때도 작동한다는 것입니다.
cd /target
echo Thisisfoobar>foo
cp /tmp/foo .
왜 이것이 작동하지 않는지 전혀 모르겠습니다. 나는 두 변형 strace
( foo
존재하지 않는 변형, foo
존재하고 덮어쓴 변형)을 사용하여 이것을 실행하고 출력을 비교했지만 관련 차이점을 발견하지 못했습니다. 유일한 차이점은 아래와 같이 핸들과 파일 크기입니다.
stat("./foo", {st_mode=S_IFREG|0700, st_size=12, ...}) = 0
우리는 이 머신에서 selinux를 사용하지 않습니다. 위에서 언급한 명령을 실행하기 전에 a(실제로 CyberArk에 의해 부과된 제한 사항인 루트와 같은 권한을 제공함)를 실행해야 했으며 sudo adm
이 adm 셸에서 smb에 대해 간략하게 설명했습니다 su tu
(또는 su - tu
차이 없음). : tu
smb가 탑재된 장치에 쓰기 권한이 있는 그룹의 구성원이고, tu
Active Directory의 구성원이어야 합니다.
ls -laZ /tmp/foo
다음 정보를 생성합니다.
-rwx------ tu user ? foo
dmesg
명령을 실행할 때 출력을 확인했지만 추가된 항목이 없습니다 .