본문 바로가기
프로그래밍언어/파이썬[Error]

[파이썬][Error] 089. OSError - operation not permitted on system file

by about_IT 2025. 5. 31.
728x90

OSError: operation not permitted on system file 오류는 시스템 보호 파일이나 디렉토리에 대해 허용되지 않은 작업을 시도할 때 발생합니다. 운영체제는 중요 시스템 리소스에 대해 읽기, 쓰기, 삭제 등의 작업을 제한하고 있으며, 파이썬에서 이러한 제한을 무시하고 접근하려 할 경우 OSError가 발생합니다.

이 오류는 파일 삭제, 권한 변경, 심볼릭 링크 생성, 파일 이동 등과 같은 작업이 시스템에서 금지된 경로 또는 파일에 대해 실행될 때 자주 발생합니다. 특히 Windows의 C:\Windows\System32, Linux의 /bin, /usr 디렉토리 등은 보호된 영역입니다.

● 오류 발생 예시

import os
os.remove("/bin/ls")

시스템 명령어가 저장된 파일을 삭제하려 할 경우 OSError가 발생합니다.

OSError: [Errno 1] Operation not permitted: '/bin/ls'

● 해결 방법

  • 시스템 보호 경로에서는 쓰기/삭제 작업을 시도하지 말 것
  • 관리자 또는 루트 권한이 필요하더라도 실행은 신중히
  • 일반 사용자용 경로에 파일을 복사하여 작업 수행
  • 파일 보호 속성 여부(chattr, Windows 속성) 확인

● 예시 코드 (안전한 삭제)

import os
file_path = "/home/user/test.txt"
if os.access(file_path, os.W_OK):
    os.remove(file_path)
else:
    print("삭제 권한이 없습니다.")

● 자주 하는 실수

  • 시스템 디렉토리의 파일을 실수로 수정 또는 삭제 시도
  • 일반 권한으로 관리자 전용 작업 수행
  • 파일 속성 변경 없이 보호된 파일에 작업 시도

● 결론

OSError - operation not permitted on system file 오류는 시스템 보호 파일에 대해 허용되지 않은 작업을 시도할 때 발생합니다. 파일 작업은 항상 사용자 권한과 시스템 보안을 고려하여 신중하게 수행해야 하며, 테스트는 별도의 안전한 경로에서 진행하는 것이 좋습니다.

728x90