사용자 모드를 별도로 두고 관리자 모드를 사용하는 이유 2가지
관리자 권한
사용자 권한
리눅스 기반의 운영체제 중 Ubuntu에서는, 사용자가 절대 관리자 권한에 접근할 수 없도록 구분해두었습니다.
그러나 새로운 프로그램을 설치하거나 변경 또는 삭제할 때에 관리자 권한이 반드시 필요하기 때문에, 특정 명령어를 입력하는 것으로 잠시 관리자 권한을 빌려올 수 있습니다.
절대경로와 상대경로
정의 :
경로는 명령어 pwd로 확인할 수 있는 절대 경로와, 현재 위치로부터 상대적인 위치를 나타내는 상대 경로로 나뉩니다.
절대경로 (루트부터 지금 위치까지 경로를 쭉 보여준다)
기준점으로부터의 절대적인 위치를 나타내는데, 이 기준점을 루트폴더(/)라고 합니다. 정리하면, 절대 경로는 특정 폴더나 파일이 루트폴더로부터 어떤 폴더로 진입하는 경우 만날 수 있는지 나타냅니다.
상대경로 (내 지금 위치를 기준으로 원하는 파일의 위치를 보여준다)
./: 내 현재위치 ../ 내 현재위치의 상위폴더
상대 경로는 특정 폴더 또는 파일의 위치를 현재 위치를 기준점으로 나타냅니다. 현재 위치한 폴더는 점(.)으로 표현하고, 상위 폴더는 두 개의 점(..)으로 표현합니다.
(/Users/[username]/helloWorld/hello/)
에 포함된 폴더나 파일을 확인하기 위해, 명령어 ls를 사용할 수 있습니다.
그리고 명령어 ls를 통해 확인되는 폴더나 파일은, 상대 경로로써 ./을 붙여 표현할 수 있습니다.
만약 현재 폴더 아래의 폴더 hi로 진입하려고 한다면, 명령어 cd를 이용할 수 있습니다.
점(.)은 현재 폴더를, 슬래시(/)는 폴더 내부를 나타냅니다.
따라서 다음 표현에 포함된 ./는 "현재 폴더 아래의"라는 뜻입니다.
./hi는 현재 폴더 아래의 폴더 hi를 나타냅니다.
명령어 cd와 함께 사용한다면, 현재 폴더 아래의 폴더 hi로 진입하라는 뜻입니다.
# '#' 기호는 설명을 위해 사용하였습니다.
cd ./hi # 현재 폴더 아래의 hi 폴더로 진입하는 명령
pwd
# (Ubuntu) /home/[username]/helloWorld/hello/hi
# (macOS) /Users/[username]/helloWorld/hello/hi
ls
# helloWorld.txt hiComputer.txt //점슬래쉬(./)는 현재 폴더를 나타냅니다.
사용자 폴더의 경로(Path)
~/로 표시됩니다. 물결기호(~)는 루트폴더(/)로부터 사용자 폴더(username)까지의 경로를 축약한 형태입니다.
sudo: 관리자 권한을 이해할 수 있다.
루트 디렉토리/ 홈 디렉토리
1. /: 루트 디렉토리 (->>>> 루트 디렉토리: 관리자 영역)
절대 경로의 기준점인 루트폴더(/)는 Linux의 관리자 영역입니다.
일반 사용자의 권한으로는 어떤 폴더나 파일도 생성, 변경, 삭제할 수 없습니다.
Linux 관리자의 가장 큰 특징은, 어떤 일이 있더라도 일반 사용자에게 관리자 권한(루트 권한)을 완전하게 넘기지 않습니다.
사용자가 관리자 권한을 필요로하는 경우는 새로운 프로그램을 설치하거나, 프로그램을 변경 또는 삭제하는 경우이기 때문에, 해당 프로그램을 설치, 변경 또는 삭제할 수 있는 관리자 권한만 전달합니다.
사용자와 관리자를 명확히 분리하여 사용자의 실수로 발생할 수 있는 시스템 에러로부터 운영체제를 보호합니다.
루트폴더로 이동하여 명령어 mkdir을 이용해 폴더 test를 생성하면 파일 생성이 되지 않는다.
루트폴더는 관리자의 영역이기때문에 사용자 권한으로는 할 수 있는 일이 없습니다. 현재 로그인된 사용자를 확인하는 명령어가 있습니다. 프롬프트에 명령어 whoami를 입력하세요.
2. ~: 홈 디렉토리 (->>>> 홈 디렉토리 : 사용자 영역)
사용자 폴더의 경로(Path)는 ~/로 표시됩니다. 물결기호(~)는 루트폴더(/)로부터 사용자 폴더(username)까지의 경로를 축약한 형태입니다.
출처 코드스테이츠