3.3.2 루트 권한 획득하기
리눅스는 여러 사용자가 동시에 사용 가능한 다중 사용자(multi user) 운영체제입니다. 사용자는 권한에 따라 시스템 자원에 대한 접근, 사용 여부가 결정됩니다. 시스템을 제어하는 명령을 실행하려면 특별한 권한이 필요한데 이를 시스템 관리 권한 또는 루트 권한이라고 하며 시스템 관리 권한을 가지고 있는 사용자 계정을 루트 사용자(root user) 또는 슈퍼유저(superuser)라고 합니다. 루트(root)는 시스템을 제어할 수 있는 최상위 계정의 권한을 의미합니다.
사용자 실수로 시스템에 돌이킬 수 없는 문제가 발생하는 사고를 방지하고자 일반적으로 리눅스는 루트 사용자의 로그인을 제한합니다. 시스템 관리자도 일반 사용자 계정으로 로그인해야 하며, 루트 권한이 필요할 때 루트 권한을 획득하는 과정을 거치게 됩니다. 루트 권한이 필요한 명령을 처리할 때 sudo 명령을 사용합니다. sudo는 다른 사용자 권한을 획득해서 명령을 실행하는 명령입니다. 시스템 관리자가 가장 많이 사용하는 명령 중 하나입니다.
곧 살펴볼 apt update는 패키지 저장소에서 새로운 패키지 목록을 가져오는 명령으로 루트 권한이 필요합니다. 일반 사용자 권한으로 명령을 실행하면 다음과 같이 화면에 허가 거부(permission denied) 오류 메시지를 뿌릴 것입니다.
supreme@master:~$ apt update
패키지 목록을 읽는 중입니다... 완료
E: 잠금 파일 /var/lib/apt/lists/lock 파일을 열 수 없습니다 - open (13: 허가 거부)
E: /var/lib/apt/lists/ 디렉터리를 잠글 수 없습니다
W: /var/cache/apt/pkgcache.bin 파일을 삭제하는데 문제가 있습니다 - RemoveCaches (13: 허가 거부)
W: /var/cache/apt/srcpkgcache.bin 파일을 삭제하는데 문제가 있습니다 - RemoveCaches (13: 허가 거부)