이번에는 권한에 대해서 알아보겠습니다. 🤔
그 전에 ls -l 하면 나오는 리스트에 대해서 구체적으로 살펴보겠습니다.
- | rwxrwxrwx | 1 | root | root | 0 | 1월21 | a |
-
처음 -은 파일의 유형을 나타냅니다. -는 파일이고 d라고 적혀있으면 디렉토리입니다.
-
rwxrwxrwx는 앞에서 부터 소유자/소유그룹/다른사용자의 해당 파일이나 디렉토리에 대한 권한을 나타냅니다.
-
1은 링크 수를 나타냅니다.
-
첫번째 루트는 파일 소유자 이름을 말하고 두번째 루트는 파일 소유 그룹 이름을 말합니다.
-
0은 파일 크기(Byte)인데 안에 아무 내용도 적지 않아서 0Byte입니다.
-
1월 21은 파일을 생성하거나 최근에 수정한 날짜를 나타냅니다.
-
a는 파일이나 디렉토리의 이름을 나타냅니다.
파일 허가권
소유자 | 그룹 | Other 사용자 | ||||||
r | w | x | r | w | x | r | w | x |
4 | 2 | 1 | 4 | 2 | 1 | 4 | 2 | 1 |
chmod
파일에 대한 허가권을 변경하고 싶을 때 chmod를 사용합니다
파일을 누구에게 얼만큼 권한을 주는가에 따라서 숫자를 입력하면 됩니다.
만약 내가 급여라는 파일이 있고 모두가 볼 수 있지만 수정은 나만 하고 싶은 경우 chmod 644를 해주면 됩니다.
파일에 있어서 x는 실행을 할 수 있는 권한인데 급여라는 파일은 일반 파일이라서 실행과 관련 없어 x를 넣지 않았습니다.
chown
파일의 소유주를 바꾸고 싶을 때 사용하는 명령어로 chown를 사용합니다.
chown [파일 소유자].[파일 소유 그룹] [파일 이름]
급여 파일의 소유주가 yang으로 바뀐 것을 볼 수 있습니다.
root만이 파일 소유주를 바꿀 수 있습니다.
그림에서 yang이 내정보라는 파일을 만들었지만 lee로 소유권을 변경할 수 없다는 것을 볼 수 있고 root가 하면 yang의 파일이라도 다른 사람의 소유로 바꿀 수 있다는 것을 볼 수 있습니다.
(권한과 헷갈리지 말 것, 권한은 자기 파일 소유주가 바꿀 수 있다.)
디렉터리
디렉터리에 읽기(r)은 디렉토리 안에 목록을 볼 수 있는지에 대한 권한이다.
chmod 700 ./etc를 해서 일반 사용자들의 etc 디렉터리에 대한 r의 권한을 뺏어 보겠다.
여기서 주의할 점은 디렉터리는 r이 없지만 그 디렉터리 안에 있는 파일은 r이 있을 수 있다.
따라서 디렉터리 안의 목록들은 못 보지만 그 디렉터리 안에 있는 파일의 r 권한이 있다면 파일은 볼 수 있다.
디렉터리 안에서 쓰기(w)란 touch나 cat으로 파일 생성에 관한 권한이다.
디렉터리에서 실행(x)은 디렉터리로 들어갈 수 있는지를 확인하는 것이라고 보면 된다.
주의할 점
내가 파일을 생성하면 파일은 (나의 소유 : 나의 소유 그룹)이 된다.
chmod 077을 하면 나의 소유는 권한이 없더라도 소유 그룹을 통해 파일을 이용할 수 있을 것 같지만 그렇지 않다.
파일은 만든 소유자면 오직 소유자의 권한만 보게 된다. ( 소유그룹 권한은 보지 않는다)
따라서 소유자는 소유자 권한만을 보고 소유 그룹은 오직 소유 그룹에 대한 권한, 다른 사용자는 다른 사용자에 대한 권한만을 보게 된다.
내가 만들었다고 소유자와 소유그룹 권한 두 개를 사용하지는 못 한다.
'리눅스 > 내 맘대로 리눅스 기본' 카테고리의 다른 글
리눅스 고정으로 IP 할당 받기 (0) | 2020.02.08 |
---|---|
링크 (0) | 2020.02.08 |
Process (0) | 2020.02.08 |
유저 생성하기 (0) | 2020.02.08 |
리눅스 기본 명령어 (0) | 2020.02.08 |