다음 권한을 가진 파일이 있습니다.
-rwSr-s---. 1 1634630331 1818884080 118784 Jun 29 1970 DailyUpdateClass.class
루트 로그인을 사용하여 파일을 삭제하려고 하면 오류가 발생합니다.
rm: cannot remove ‘model/DailyUpdateClass.class’: Operation not permitted
소유권을 변경하거나 다른 작업을 수행할 수 없습니다.
에 올렸어요스택 오버플로몇 가지를 시도했지만 지금까지 아무것도 도움이 되지 않았습니다.
누군가 Unix Stack Exchange에서 이것을 시도해 보라고 제안하여 도움을 요청했습니다.
답변1
다양한 가능성:
- 파일 권한 행의 후행 점은 루트 재정의를 방지할 수 있는
-rwSr-s---.
확장 권한, SE Linux(확인 포함ls -lZ
) 또는 ACL 스타일 권한(확인 포함 )을 나타냅니다.getfacl
- 파일이 변경 불가능하게 되었습니다
chattr
. 파일 시스템 속성을 확인하세요.lsattr
- 파일은
root_squash
원격 루트 사용자를 권한이 없는 계정에 다시 매핑하는 옵션을 사용하여 내보낸 NFS 파일 시스템에 있습니다. 실제 파일 소유자로 명령을 실행하십시오rm
.sudo -u <file_owner> rm filename
- 파일이 읽기 전용 파일 시스템에 있습니다.
mount
다음 명령을 사용하여 확인 하거나/proc/mounts
proc
IIRC에서는 커널 설정(예: 파일 시스템의 파일 ) 을 나타내는 특수 장치 항목을 삭제할 수 없습니다sysfs
. 그렇죠?
답변2
파일에 immutable
확장된 속성 세트가 있으므로 삭제할 수 없습니다.
lsattr
파일의 확장된 속성을 반환합니다:
$ lsattr model/DailyUpdateClass.class
-u-Diad--j------ DailyUpdateClass.class
-u-Diad--j
모든 문자( ) 를 해독해야 합니다 .
의 매뉴얼 페이지에서 lsattr
보라고 알려줄 것입니다.매뉴얼 페이지for chattr
는 속성 설명을 확장하는 데 사용됩니다. 여기에 관련 항목을 나열했습니다.
u
이 속성이 설정된 파일이 삭제되면 해당 내용이 저장됩니다. 이를 통해 사용자는 삭제 취소를 요청할 수 있습니다. 참고: 이 문서 끝에 있는 버그 및 제한 사항 섹션을 꼭 읽어보세요.속성이 설정된 디렉터리가 수정되면 변경 사항이 디스크에 동기적으로 기록됩니다. 이는 파일 하위 집합에 탑재 옵션이 적용되는
D
것과 같습니다 .dirsync
하나는 D
약간 걱정스럽습니다. 분명히 디렉토리에만 해당되지만 파일이 있습니다.
이 속성을 가진 파일은
i
수정할 수 없습니다. 삭제하거나 이름을 바꿀 수 없고, 파일에 대한 링크를 만들 수 없으며, 파일에 데이터를 쓸 수 없습니다. 수퍼유저 또는 CAP_LINUX_IMMUTABLE 기능이 있는 프로세스만 이 속성을 설정하거나 지울 수 있습니다.이 속성이 설정된 파일은
a
추가 모드에서 쓰기용으로만 열 수 있습니다. 수퍼유저 또는 이 기능이 있는 프로세스만CAP_LINUX_IMMUTABLE
이 속성을 설정하거나 지울 수 있습니다.이 속성이 설정된 파일은 dump(8) 프로그램이 실행될 때
d
백업 대상이 아닙니다 .또는 옵션을 사용하여 파일 시스템을 마운트하는 경우 이 속성을 가진 파일은
j
파일 자체에 쓰기 전에 모든 데이터를 ext3 또는 ext4 로그에 기록합니다. 이 옵션을 사용하여 파일 시스템을 마운트하면 모든 파일 데이터가 기록되며 이 속성은 적용되지 않습니다. 수퍼유저 또는 이 기능이 있는 프로세스만 이 속성을 설정하거나 지울 수 있습니다.data=ordered
data=writeback
data=journal
CAP_SYS_RESOURCE
이러한 문제를 해결하려면 chattr
를 사용하여 불변 속성과 연결된 속성을 제거하세요.
# chattr -ia model/DailyUpdateClass.class