우분투는 chmod 명령어(change mode의 약어입니다.)를 통해서 파일과 디렉토리의 권한을 설정할 수 있습니다.
터미널에서 "ls -al" 명령어를 통해 현재 디렉토리와 파일들의 권한을 확인할 수 있습니다.
root@root:~/cifars$ ls -al
total 310060
drwxrwxr-x 4 k808 k808 4096 May 10 08:50 .
drwx--x--x 39 k808 k808 4096 Jun 1 05:39 ..
drwxr-xr-x 4 root root 4096 May 10 08:44 cifar10
drwxrwxr-x 4 k808 k808 4096 May 10 07:48 cifar100
-rw-r--r-- 1 root root 158516538 May 10 08:40 cifar100.zip
-rw-r--r-- 1 root root 158961396 May 10 08:50 cifar10.zip
-rw-rw-r-- 1 k808 k808 604 May 10 08:45 save_cifar10.py
출력결과를 더 자세하게 살펴보면
drwxr-xr-x 4 root root 4096 May 10 08:44 cifar10
위 출력결과에서 권한부분인 drwxr-xr-x 부분을 자세하게 살펴보면 각각의 알파벳은
d - file or directory
r - readable
w - writerble
x - executable
를 의미하며
drwxr-xr-x 의 user와 group별 권한을 살펴보면
d rwx r-x r-x
{type} {owner} {group} {others}
owner 는 모든 권한을 갖고 있고
group user는 읽고, 실행은 가능하지만 저장은 못 하고
기타 유저는 group user처럼 읽고, 실행은 가능하지만 저장은 못 하게 설정되어 있습니다.
-rw-r--r-- 1 root root 158516538 May 10 08:40 cifar100.zip
다른 파일의 권한 설정을 확인해보면, cifar100.zip 이란 파일은
- : 파일이고
rw-: owner는 읽고 저장이 가능하지만 실행은 불가능
r--: group user는 읽기만 가능
r--: 기타 유저는 읽기만 가능
으로 해석할 수 있습니다.
우분투에서 파일과 폴더의 권한을 변경하고 싶다면 chmod 명령어를 사용할 수 있습니다. 사용예시는 다음과 같은데
chmod 600 cifar10
앞에 붙는 숫자는 각각 owner, group, others 의 권한을 명시해주는 것이며 0~7까지 설정할 수 있습니다. 각 숫자의 의미는 다음과 같습니다.
0: ---
1: --x
2: -w-
3: -wx
4: r--
5: r-x
6: rw-
7: rwx
이 의미를 통해 위에서 사용했던 "chmod 600 {file or dir name}" 명령어를 해석하면 소유자만 해당 파일을 read, write 할 수 있도록 권한을 설정하는 것입니다.