본문 바로가기
My Wiki (CodesStates)/Linux

(1-3) Linux 기초 - 관리자 권한과 경로

by Esoolgnah 2021. 7. 16.
728x90

 

절대 경로 (Mac OS)

/users/[username]/hellowold/hello/ 라는 경로를 예시로 살펴보자. 루트폴더 ( / ) 에는 폴더 Users 가 있다. 폴더 Users로 진입하면 폴더 [username]을 확인할 수 있다. 폴더 [username] 에 진입하면 폴더 helloWorld 가 있고, 폴더 helloWorld에 진입하면 폴더 hello를 발견할 수 있다. 이 과정을 한 줄로 줄여놓은 구문(/users/[username]/helloWorld/hello/)이 절대 경로이다.

[그림] 루트폴더로부터 hello 폴더를 찾아가는 과정[Mac OS]

 

 

상대경로 

상대경로는 특정 폴더 또는 파일의 위치를 현재 위치를 기준점으로 나타낸다. 현재 위치한 폴더는 점 ( . ) 으로 표현하고 상위 폴더는 두개의 점 ( .. ) 으로 표현한다. 현재 경로(/Users/[username]/helloWorld/hello/)에 표함된 폴더나 파일을 확인하기 위해 명령어 ls 를 사용할 수 있다. 그리고 명령어 ls 를 통해 확인되는 폴더나 파일은 상대 경로로써 ./ 을 붙여 표현할 수 있다. 만약 현재 폴더 아래의 폴더 hi 로 진입하려 한다면 명령어 cd 를 이용할 수 있다. 점 ( . ) 은 현재 폴더를, 슬래시 ( / ) 는 폴더 내부를 나타낸다.

# '#' 기호는 설명을 위해 사용한다.
cd /.hi # 현재 폴더 아래의 hi 폴더로 진입하는 명령
pwd
# (MacOS) /Users/[username]helloWorld/hello/hi
ls
# helloWorld.txt hiComputer.txt

[커맨드] 점슬래쉬(./) 는 현재 폴더를 나타낸다.

 

 

관리자 권한

절대 경로의 기준점인 루트폴더 ( / ) 는 Linux의 관리자 영역이다. 일반 사용자의 권한으로는 어떤 폴더나 파일도 생성, 변경, 삭제할 수 없다. Linux 관리자의 가장 큰 특징은 어떤 일이 있더라도 일반 사용자에게 관리자 권한(루트 권한)을 넘기지 않는다. 사용자가 권한을 필요로 하는 경우는 새로운 프로그램을 설치하거나 프로그램을 변경 또는 삭제하는 경우이기 때문에 해당 프로그램을 설치, 변경 또는 삭제할 수 있는 관리자 권한만 전달한다. 사용자와 관리자를 명확히 분리하여 사용자의 실수로 발생할 수 있는 시스템 에러로부터 운영체제를 보호한다.

루트폴더로 이동하여 명령어 mkdir 를 이용해 폴더 test를 생성하면 "Read-only file system" 이라는 에러를 만나게 된다. 읽기전용(Read-only)이라는 말은 폴더나 파일을 생성, 변경 또는 삭제할 수 없다는 의미이다.

[그림] 루트폴더에서는 mkdir 명령어로 test 폴더를 생성할 수 없다.

 

 

루트폴더는 관리자의 영역이기 때문에 사용자 권한으로는 할 수 있는 일이 없다. 현재 로그인된 사용자를 확인하는 명령어가 있다. 프롬프트에 whoami 를 입력해보자.

whoami
# [username]

[커맨드] 현재 로그인된 사용자를 확인하는 명령어 whoami

 

 

사용자 폴더의 경로(Path)는 ~/ 로 표시된다. 물결기호 ( ~ ) 는 루트폴더 ( / ) 로부터 사용자폴더(username)까지의 경로를 축약한 형태이다. 사용자가 새로운 프로그램을 설치하거나 변경 또는 삭제할 때에는 관리자 권한이 필요하다. 사용자가 관리자 권한할 때, 사용자 권한을 이용할 수 있는 명령어 sudo 를 설명해보겠다.

 

 

sudo : 관리자 권한을 획득하는 명령어

명령어 sudo 는 사용자 환경에서 관리자 권한을 획득하는 명령어이다. sudo 명령어와 mkdir 명령어를 함께 사용하여 관리자 소유의 폴더를 생성해보자. 명령어 ls -l 을 통해 파일이 사용자 또는 관리자 소유로 생성됐는지 확인할 수 있다. 하나는 mkdir 만, 다른 하나는 mkdir 앞에 명령어 sudo를 추가해 폴더를 생성해보자.

mkdir justMkdir
sudo mkdir sudoMkdir
password: # 타이핑을 해도 출력이 없다. 비밀번호가 출력되지 않더라도 입력이 정상적으로 이뤄지고 있다.

[커맨드] sudo 명령어와 mkdir 명령어를 함께 사용하여 관리자 소유의 폴더를 생성한다.

 

 

명령어 sudo를 이용해 생성한 폴더의 소유자는 루트이다. 다시 말해 사용자 권한이 아니라 관리자 권한으로 생성되었다는 뜻이다. 반면에 명령어 sudo를 사용하지 않은 폴더 justMkdir은 사용자 소유의 폴더이다. 명령어 ls -l 을 이용해 차이점을 확인할 수 있다.

[그림] ls -l 명령어를 통해 폴더나 파일의 권한을 확인할 수 있다.

 

 

 

 

반응형

댓글