강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

슝스스님의 프로필 이미지
슝스스

작성한 질문수

비전공자도 이해할 수 있는 리눅스 입문/실전

권한 변경하는 방법 (chmod)

권한 기본값 질문

작성

·

17

0

안녕하세요! 리눅스에서 파일은 666, 디렉토리는 777 기본 권한을 가지고 있는데 파일 기본 권한에 실행(x) 권한이 없는 이유는 대다수 파일이 실행파일이 아니여서일까요?? 그래서 필요한 경우에만 실행 권한을 부여하는건지 궁금합니다. 아님 다른 이유가 있는건지 알려주시면 감사하겠습니다!

답변 2

1

JSCODE 박재성님의 프로필 이미지
JSCODE 박재성
지식공유자

안녕하세요 ! 질문 너무 잘해주셨어요 !

질문해 주신 내용에 대해 답변드려볼게요 ~

"리눅스에서 파일은 666, 디렉토리는 777 기본 권한을 가지고 있는데 파일 기본 권한에 실행(x) 권한이 없는 이유는 대다수 파일이 실행파일이 아니여서일까요??"

-> 네 ! 말씀해주신 추측이 맞아요 !

리눅스에서 다루는 대부분의 파일은 텍스트 파일, 설정 파일, 로그 파일 등 읽고 쓰기만 하면 되는 파일들이에요 !

실행 권한이 필요한 파일은 쉘 스크립트나 바이너리 실행 파일 등 일부에 해당하구요 ! 그래서 기본적으로는 실행 권한을 빼두고, 필요한 경우에만 chmod를 활용해서 실행 권한을 부여하는 방식으로 운영해요 ~

추가로 보안적인 이유도 있는데요, 만약 모든 파일에 기본적으로 실행 권한이 붙어있다면 악성 스크립트나 의도치 않은 파일이 실수로 실행될 위험이 있어요 ! 그래서 보안을 위해서라도 기본 권한에서 실행(x)을 제외해두는 거예요 !

추가로 궁금하신 점 있으시면 언제든 편하게 질문 남겨주세요~~

슝스스님의 프로필 이미지
슝스스
질문자

답변 감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 슝스스님.

리눅스 시스템에서 파일과 디렉토리의 기본 권한에 대해 궁금해 하시는군요. 기본적으로 파일은 666, 디렉토리는 777의 권한을 가지게 설정되는 것은 다 이유가 있습니다. 여기서 권한 값은 각각 읽기(4), 쓰기(2), 실행(1)을 나타내며, 파일과 디렉토리에 맞는 권한을 부여하는 데 있어서 합리적인 방법을 따릅니다.

일반적으로 파일에 실행 권한을 주지 않는 이유는 대부분의 파일이 실행 가능한 프로그램이 아니라 데이터 파일이기 때문입니다. 예를 들어, 텍스트 파일이나 문서 파일은 읽고 쓰는 것이 주된 사용 목적이지, 실행하는 것이 아닙니다. 그래서 기본적으로 실행 권한이 제외됩니다. 그렇기 때문에 실행 권한이 필요한 경우, 예를 들어 스크립트나 바이너리 파일일 때, 그때 명시적으로 실행 권한을 추가하는 방식입니다.

디렉토리의 경우에는 기본적으로 실행 권한을 포함하는데, 이 ‘실행’의 의미는 디렉토리에 접근하여 파일의 목록을 읽을 수 있다는 의미로 쓰입니다. 그렇기 때문에 디렉토리에는 기본적으로 777 권한을 많이 주게 됩니다.

이와 관련하여 더 자세히 알아보고 싶으시면 다음 링크들을 참고하시면 좋습니다:

질문자님의 이해를 돕고자 가능한 관련 자료를 추천드리고 있습니다. 현재 베타 기능으로 답변이 완벽하지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적인 궁금한 점이 있으시면 편하게 질문해 주세요. 곧 지식공유자님께서 더 자세한 답변을 제공해 주실 것입니다.

슝스스님의 프로필 이미지
슝스스

작성한 질문수

질문하기