리눅스에서는 모든것이 파일입니다. 터미널에서 ls 명령어를 이용해서 파일 권한을 확인해 보겠습니다.
$ mkdir test
제 로그인 사용자 이름은 woong
입니다. 권한을 분석하기 전에 참고하세요.
drwxrwxr-x. 6 woong woong 132 12월 8 13:50 test
먼저 맨앞에 drwxrwxr-x
문자부터 체크해보겠습니다. d
문자로 시작하면 디렉토리, -
로 시작하면 파일입니다.
그다음은 정보는 3자리씩 끊어서 읽습니다. rwx
, rwx
, r-x
이런식으로요.
각 자리는 숫자 4, 2, 1 로 대입합니다. -
문자가 있다면 그 자리는 0 으로 생각해주세요.
- r : 읽기 권한
- w : 쓰기 권한
- x : 실행 권한
소유자 그룹 Guest
rwx rwx r-x
421 421 421
4+2+1=7 4+2+1=7 4+0+1=5
줄여서 읽어보면 775
리눅스의 권한은 이렇게 읽습니다.
그다음 나오는 정보 woong woong
은 파일에 대한 소유자, 그룹을 뜻합니다.
글로 표현하면 아래 뜻과 같습니다.
- text 폴더의 소유자는 woong 입니다.
- woong 사용자는 test 폴더에 읽기, 쓰기, 실행권한을 가지고 있습니다.
- woong 그룹은 test 폴더에 읽기, 쓰기, 실행권한을 가지고 있습니다.
- 이 리눅스에 손님으로 접근한 사람은 test 폴더에 대해서 읽기, 실행 권한을 같습니다.
디렉토리는 실행 파일이 아니지만 실행권한을 줄 수 있습니다. 디렉토리에 실행 권한이 있다는 것은 그 디렉토리에 접근할 수 있도록 할 것인지를 설정하는 것 입니다. 기억해두세요.
권한을 바꾸는 명령어 입니다.
소유자는 읽기,쓰기,실행, 그룹에게 읽기,쓰기,실행, 손님에게는 아무권한도 부여하지 않기 위해서 770
권한을 부여합니다.
cd ~
# chmod 770 test
파일에 대해서 소유자, 그룹을 설정하는 명령어입니다.
폴더 소유자, 그룹을 root로 변경해보겠습니다.
cd ~
# su
# chown root:root test
# exit
$ ls -al
이제 우리는 test폴더에 접근할 수 있는 권한을 잃었습니다.
$ cd test
bash: cd: test: 허가 거부
리눅스의 권한설정은 아래 파일에 작성되어 있습니다.
# vim /etc/passwd
사용자를 추가할 때 uid, gid를 부여하고 싶다면 아래처럼 입력합니다.
# useradd {username} -u 2000 -g 2000
명령어를 추가하고 /ect/passwd 파일을 확인해보세요.
권한부분은 굉장히 많은 설명이 필요한 부분이지만 일단 기초적인 권한을 설명드렸습니다. 실제로 권한은 복잡합니다. 이정도의 지식만 가지고 있다면 나머지는 인터넷, 서점에서 권한부분을 재미있게 볼 수 있습니다. 권한부분을 꼭 리서치 해보세요.
/project
경로를 생성하기- 권한변경
- 필요한 폴더 생성