Samba 공유에는 혼란을 일으키는 SMB 네트워크 공유에 .DS_Store 파일이 있습니다. 루트로서도 삭제하거나 chmod할 수 없습니다.
-rwx------ 1 bob acme\Domain Users 6148 Apr 24 09:11 .DS_Store*
sudo chmod 777 .DS_Store
chmod: Unable to change file mode on .DS_Store: Permission denied
sudo rm -rf .DS_Store
rm: .DS_Store: Permission denied
sudo mv .DS_Store ../
mv: rename .DS_Store to ../.DS_Store: Permission denied
이상하게도 의 출력에는 ls
이것이 실행 파일이라는 것이 표시됩니다(끝에 *가 있음을 참고하세요).
데스크탑에서 유사한 파일을 보면 이러한 권한이 있습니다.
-rw-r--r--@ 1 bob acme\Domain Users 16388 May 20 15:10 .DS_Store
stat .DS_Store
771751940 3458764513820547522 -rwx------ 1 bob acme\Domain Users 0 6148 "Apr 24 09:11:42 2015" "Apr 24 09:11:42 2015" "Apr 24 09:11:42 2015" "Apr 24 09:11:42 2015" 16384 32 0x8000 .DS_Store
내 것과 동일한 디렉터리에 다른 파일을 만들고 삭제할 수 있습니다(sudo가 필요하지 않음).
파일에 불변 비트가 설정되어 있지 않은데 삭제할 수 없는 이유는 무엇입니까?
다른 관련 질문이 있지만 거기에 게시된 솔루션 중 어느 것도 나에게 도움이 되지 않았습니다.
루트로도 파일을 삭제할 수 없습니다
루트 사용자도 삭제할 수 없는 파일을 만드는 방법
https://askubuntu.com/questions/378055/how-to-make-a-file-or-folder-undeletable
고쳐 쓰다
lsof
와 를 기반으로 파일을 사용할 일은 없는 것 같습니다 fsuer
. 이상한 점은 Windows 컴퓨터에서 파일을 삭제할 수 있다는 것입니다.
답변1
원격 파일 시스템을 사용하고 있습니다. 서버가 파일 삭제를 원하지 않으면 파일을 삭제할 수 없습니다. 로컬 루트 사용자가 반드시 원격 컴퓨터에 대한 모든 권한을 갖고 있는 것은 아닙니다.
Windows 컴퓨터에 파일을 읽기 전용으로 설정하거나 원격 액세스를 통해 삭제할 수 없게 만드는 액세스 제어 목록이 있을 수 있습니다.
답변2
아마도 프로세스에서 사용 중일 수 있으므로 해결 방법은 간단합니다. 공유를 마운트 해제하고 파일로 프로세스를 확인하고(fuser, lsof 사용), 프로세스를 사용하고 있지 않으면 삭제합니다.