루트가 파일을 삭제할 수 없는 이유는 무엇입니까?

루트가 파일을 삭제할 수 없는 이유는 무엇입니까?

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 사용), 프로세스를 사용하고 있지 않으면 삭제합니다.

관련 정보