리눅스 퍼미션 & 기본 명령어 모음 / 정리

권한 사용자

Owner

파일이나 폴더의 소유권자

Group

자신이 속한 그룹

Other

제 3 자, NoBody 사용자

권한 부여

[root@root]$ ls -al
drwxrwxrwx 4 root root 4096 folder1
drwx—— 32 root root 2011 folder2
-rwxrw-r– 2 root root 2111 file1

권한을 부여하기 전에 미리 알아두어야 할 점이 있습니다.

 ls -al 명령어를 입력하면, 자신이 지금 있는 디렉토리내의 모든 파일 또는 디렉토리 상세정보를 출력해주는데요. 이때 앞에 folder1 맨 앞에 drwxrwxrwx 이 권한 속성을 나타내 줍니다.

맨 앞줄에 ‘d’ 또는 ‘-‘ 는 Directory or File을 나타내며, ‘d’ 이면 Directory ‘-‘이면 No Directory(File)을 의미합니다. 

그 뒤에 rwx는 권한을 의미합니다. 

r : Read(읽기 권한)

w : Write (쓰기 권한)

x : eXecute (실행 권한)

읽기, 쓰기, 실행 이 순서대로 한 세트이며, 총 3세트로 Owner, Group, Other 사용자의 권한을 표시합니다.

그리고 권한이 없을 시 에는 ‘-‘로 표시합니다. 그러니까 folder1의 권한은 Owner : rwx , Group : rwx , Other : rwx입니다. folder1은 자신을 비롯한 누구든지 읽고 쓰고 실행할 수 있습니다.

이해를 돕기 위해 file1을 설명드리자면, file1의 유형은 파일(‘-‘)이며, 권한은 Owner : rwx , Group : rw- , Other : r–으로 Owner 사용자는 읽고 쓰고 실행할 수 있지만, Group 사용자는 읽고 쓰기만 되며 , Other사용자는 읽기만 됩니다.

이해하셨나요?

권한 부여하기

chmod [변경될 퍼미션 값] [변경할 파일 이름]

권한을 변경하거나 부여하기 위해서 ‘chmod’라는 리눅스 명령어를 사용합니다. 

여기서 [변경될 퍼미션 값]에 넣을 값을 설명드리겠습니다. 방금 전 보았던 rwx를 기억하시죠? 이 권한들에는 각각 대응하는 숫자 값이 있습니다.

 r = 4 , w = 2 , x = 1 , ‘-‘ = 0

이렇게 숫자를 대입하고 3개씩 더하면 해당 파일의 Permission Value 가 나옵니다.

folder1의 Permission Value는 몇일까요? 

rwx = 4+2+1 = 7 이므로 folde1의 value는 777이 되겠습니다.

그럼 file1의 value는 앞에서부터 rwx = 7 , rw- = 4+2+0 = 6 , r– = 4+0+0 = 4 이므로 764가 됩니다.

이제 [변경될 퍼미션 값]에 값을 넣어서 file1의 퍼미션을 변경해 보도록 하겠습니다. 저는 file1을 어떤 사용자든 읽기만 할 수 있도록 변경하려고 합니다.

$ chmod 444 file1

이렇게 하면 값이 어떻게 바뀔까요? 이렇게 바뀌게 됩니다.

-r–r–r– 2 root root 2111 file1

이제 이해되시나요?

리눅스 기본 명령어

pwd

현재 작업 디렉토리의 절대 경로를 출력합니다.

ls [option] [파일명]

현재 디렉토리 내의 파일과 디렉토리에 대한 정보를 출력합니다. 

option

cd [Directory Name]

Change Directory의 약자로, 디렉토리를 이동합니다.

cp [option] [원본 파일] [타깃 파일 or 디렉토리]

원본 파일을 자신이 원하는 디렉토리 또는 원하는 파일명으로 복사합니다.

option

mkdir [option] [File Name]

디렉토리를 생성합니다.

option

rmdir [option] [File Name]

디렉토리를 제거합니다.

option

rm [option] [File Name]

디렉토리를 제거합니다.(rmdir과 다른 점은 삭제하고자 하는 디렉토리에 아무것도 없어야만 삭제가 가능합니다.)

option

mv [option] [File Name]

파일의 위치나 이름을 바꿉니다. mv 명령은 이미 존재하는 파일을 덮어쓰기 합니다. 또한 파일을 원하는 곳으로 이동시킵니다.

여러 개를 한 번에 이동시키려면 mv name1 name2 name3 \dev 로하면 name 1, 2, 3 를 dev 폴더로 이동시킵니다.

option

find [option] [File Name]

파일을 검색합니다.

option

  • -name : ‘ -find -name filename1 drName’은 filename1 과 같은 파일을 해당 디렉토리에서 찾아서 출력합니다.
  • -print : 현재 자신의 경로의 이름을 출력합니다.