티스토리 뷰
안녕하세요! 오늘은 파일/디렉토리 접근제어에 대해 알아보려고합니다. ㅎㅎ
이 파일권한은 꼭꼭 알아두시는게 좋아요 :-)
어디서든지 이 지식이 필요할 때가 올거라고 저는 확신합니다.
(만약 컴공이시면...)
그리고 개발자라면 음..파일/디렉토리 권한에 대해서는 잘 알아둬야겠죠?
저같은 경우는 "유닉스프로그래밍"시간에 잠깐 배웠는데...이번기회에 정확히 개념을 정리해야겠어요.
ㅎㅎㅎ
자..파일/디렉토리 접근제어가 처음이신 분들을 위해 차근차근 설명드릴게요 XD
(참고로..제가 OS X이기 때문에..유닉스 기반입니다...윈도우 분들은..같이 따라하시는 건 못하실지도?)
자...일단 "접근제어"..
뭔가 좀 감이 오시나요? 말그대로 접근을 제어한다는것이죠.
이 앞에 파일/디렉토리가 붙으면, 파일/디렉토리에 대해 접근을 제어하겠다!! 라는 소리가 되겠네요.
이 접근을 제어하는 이유는???
당연히!! 보안때문이겠죠?
만약에 이상한 사람이 제 파일/디렉토리를 수정하거나 막 실행하거나 그러면 안되겠죠?
그래서!
각각의 파일과 디렉토리에는 권한(Permission)이 있답니다.
확인해볼까요?
일단 터미널을 열어주세요!!
그리고.. 뭐 아무데나 해도 되는데.. 저는 데스크탑에서 할게요!!
그리고 명령어 ls -l을 쳐주세요.
$ ls -l
그러면!!!!
이렇게...뭔가가 뭔가
암튼 뭔가가 이렇게 있습니다.
이것이 바로!!!!!Permission을 나타내주는 문자? 시퀀스? 라고 할 수 있습니다.
이렇게 길게 이어져 있지만, 파트가 따로 나누어져 있답니다 XD
가장 위에있는 걸 가져와 볼게요,
-rw-r--r--
그럼 이제 파트를 나누어 볼까요?(골뱅이는 일단 빼겠습니다.)
- rw- r-- r--
이렇게 4 그룹으로 나눌 수 있어요!!
- rw- r-- r--
파일타입 user 권한 Group권한 Other권한
이렇게 요약을 할 수 있겠네요.
먼저,
1. 파일타입
파일타입은 여러가지가 있는데, 지금은 두가지만 볼게요.
바로
- : 일반 파일. 실행파일도 포함됩니다.
d : 디렉토리를 의미합니다.
참고로 저 파일은 그림파일(png)입니다. 일반파일에는 뭐 텍스트파일, pdf,JSON..zip파일도 일반 파일로 나타내지게 됩니다!!
d는 디렉토리를 의미한댔죠? 그냥 간단하게 폴더라고 생각하시면 될 것 같아요 ㅎㅎ
2. user권한
user? 여기서 유저란 "파일의 소유자"라고 생각하시면 됩니다. 그러니까 user권한 부분, 위에서는 rw-가 되겠네요.
이것이 파일의 소유자에대한 권한인거죠.
그럼 rw-가 뭔데...?
라고 하실 수 있습니다.
그럼 이 세가지 캐릭터를 쪼개볼까요?
_ _ _
각 자리는 Read(읽기권한), Write(쓰기권한), Execute(실행권한)을 나타냅니다.
만약 해당권한이 있다면 r, w, e로 자리를 채워주고, 없다면 -를 채워줍니다.
그럼 저는 현재 rw-니, 읽고 쓰는 권한은 있지만, 실행권한은 없네요.
3. Group권한
Group은 파일의 소유 그룹을 나타내요. 각 파일은 최소한 어느 그룹 하나에는 속해있답니다.
그룹은..
저기서 staff를 나타냅니다.
아 그냥 다 설명드릴게요!!
가장 왼쪽은 앞서 말씀드렸다시피 파일권한을 나타내는 시퀀스?이고
1이 써져있는 부분은 이 파일에 link되어있는 파일의 개수라고 해요.
그리고 저 Zedd부분은 파일의 생성자.
staff부분은 파일의 그룹을 나타낸다고 해요.
4. Other권한
이 파일의 소유주(user)도 아니고 그룹도 아닌 유저를 말해요.
이 파일에 관해서는 Other는 읽을 수만있네요.XD
오늘은 파일 권한에 대한 "개념"만을 설명했고, 다음글에서 파일권한을 변경하는 법을 알아볼게요.
그리고...저 @표시!!!!저게 뭐지? 싶어서 찾아봤는데.. OS X에서만 나타나는 것 같아요.
OS X는 여러가지 권한모델을 지원하는데,
위에서 말한 표준 권한 말고도 다른 세부적인 권한을 제어할 수 있게 허용했어요. (파일의 확장된 속성)
그냥 @는 +알파라는 느낌이라고 생각하시면 될 것 같아요.
@가 붙어있는 파일이나 디렉토리는, 아 여기에는 파일의 확장된 속성이 있다고 보면 될 것 같아요.
또한, @가 붙어있으면 일반적으로 파일이 패키지에서 가져왔거나, 인터넷에서 다운로드 됐다는것을 나타내 준다네요.
저도 확인해보니까 진짜 제가 생성한거는 @가 없는데, 인터넷에서 받은것만 @가 붙어있네요 ㄷㄷ 신기
확장된 속성을 알고싶다면, 터미널에
$ ls -l@ (골뱅이가 붙어있는 파일이나 디렉토리 이름)
라고 치시면,
뭔가가 더 나왔네요..!! 이게 확장된 속성인가봐요 ㅎㅎ
도움이 되셨나요? 간단하지만, 꼭 알아야 할 지식이라고 생각되네요 :)
궁금한점이나 지적할부분이 있다면, 댓글을 이용하시거나,
PC화면에서 볼 수 있는
채널서비스를 이용해주세요!
5분안에는 반드시 답변해드릴게요!
그럼 이만!!!ㅎㅎ
'공부' 카테고리의 다른 글
블로그에 BGM을 달았습니다! (0) | 2017.06.21 |
---|---|
P와 NP의 개념 (41) | 2017.06.21 |
왕초보를 위한 JSON Parsing - 1 (JSON이란?) (43) | 2017.06.20 |
main..return 0?1? (0) | 2017.06.19 |
네트워크? Http? (0) | 2017.06.16 |
- ios 13
- 스위프트 문법
- Accessibility
- github
- actor
- swift array
- Swift
- UIBezierPath
- 피아노
- IOS
- WidgetKit
- SwiftUI
- swift sort
- WWDC
- 스위프트
- swift 공부
- WKWebView
- 회고
- swift delegate
- fastlane
- swift3
- np-hard
- FLUTTER
- 제이슨 파싱
- np-complete
- Combine
- swift tutorial
- Xcode
- Git
- iOS delegate
- Total
- Today
- Yesterday