Linux 사용자 계정
Linux 에서의 계정은 시스템에서 각 사용자를 식별하고 그들에게 특정 권한과 리소스를 할당하는 기본적인 방법입니다.
루트 계정
시스템의 모든 권한을 가진 최고 관리자 계정입니다. 모든 파일과 디렉터리에 접근할 수 있으며, 시스템 설정을 변경할 수 있습니다. 홈 디렉터리는 /root 입니다.
일반 사용자 계정
제한된 권한을 가진 계정입니다. 일반적으로 홈 디렉터리 내의 파일과 디렉터리에만 쓰기 권한이 있으며, 시스템 설정을 변경하려면 루트 권한이 필요합니다. 홈 디렉터리는 username 이라는 사용자를 예로 들면 /home/username 입니다.
각 사용자 계정에는 고유한 홈 디렉터리가 할당됩니다. 이 디렉터리는 사용자가 생성한 파일, 개인 설정 파일 (예: .bashrc) , 다운로드한 파일 등을 저장하는 곳입니다. 각 사용자는 자신의 홈 디렉터리 안에서 자유롭게 파일을 생성하고 삭제할 수 있으며 홈 디렉터리 내에서 사용하는 디스크 공간은 다른 사용자와 분리되어 관리됩니다.
프롬프트의 끝에 표시되는 기호는 현재 사용자의 권한 수준을 나타냅니다. 루트 권한을 가지고 있는 경우에는 # 이 표시되고 (ex. root@hostname:~#) , 일반 사용자 권한인 경우에는 $ 가 표시됩니다. (ex. username@hostname:~$)
sudo
sudo 는 superuser do 의 약자로 이 명령은 일반 사용자가 특정 명령을 슈퍼유저 (루트 사용자) 의 권한으로 실행할 수 있게 해 줍니다.
시스템 설정을 변경해야 할 때마다 루트 계정으로 직접 로그인하는 방법은 보안상의 이유로 권장하지 않습니다. 대신, 루트 권한이 필요한 작업을 수행할 때만 일반 사용자 계정에서 sudo 명령을 사용하여 일시적으로 루트 권한을 얻는 방법이 있습니다.
패키지를 설치하거나 시스템 설정 파일을 편집하려 할 때 sudo 명령을 사용하여 해당 명령을 실행할 수 있습니다. 아래의 예시를 살펴보겠습니다.
sudo apt-get update
이 명령을 실행하면 사용자는 자신의 비밀번호를 입력해야 하며, 성공적으로 인증되면 해당 명령이 루트 권한으로 실행됩니다.
sudo 명령을 사용할 수 있는 사용자는 sudoers 파일에 등록되어 있거나 sudo 그룹에 속한 사용자들입니다.
su
su 는 substitute user 의 약자로 이 명령은 현재 사용자를 다른 사용자로 전환할 때 사용됩니다.
- username 계정으로 전환:
su username
- 루트 계정으로 전환:
su root
username 을 생략할 경우 루트 계정으로 전환하게 됩니다.
su vs su -
- su: 현재 셸 환경을 유지한 상태로 사용자를 변경합니다. 즉, 이전 사용자의 환경 변수나 디렉터리가 그대로 유지됩니다.
- su -: - 은 로그인 셸을 실행하는 옵션으로 새 사용자로 전환하면서 그 사용자의 환경 설정을 완전히 로드하고, 이후 홈 디렉터리로 이동하게 됩니다. 새로운 사용자의 환경 변수, 경로 설정, 셸 설정 등이 적용되며 마치 그 사용자가 처음으로 로그인했을 때의 상태처럼 설정됩니다. - 대신 -l 혹은 --login 옵션을 사용해도 동일하게 동작합니다.
su 를 이용해 다른 사용자로 전환할 때 현재 계정의 .bashrc 는 실행되지 않으며, 새로 전환된 사용자의 .bashrc 가 실행됩니다. 이는 su 명령어가 새로운 사용자를 통해 서브셸을 열기 때문입니다.
su - vs sudo su -
- su -: 루트 계정으로 전환 시 루트의 비밀번호를 입력합니다.
- sudo su -: 루트 계정으로 전환 시 자신의 비밀번호를 입력합니다. 루트의 비밀번호를 몰라도 됩니다.
sudo su - 를 사용하면 루트의 비밀번호를 노출하지 않고도 루트 계정으로 전환할 수 있어 보안에 더 유리합니다.
sudo su - 는 sudo su - root 와 같은 의미입니다.
'CS > Linux' 카테고리의 다른 글
권한 시스템과 chmod (4) | 2024.09.27 |
---|---|
source ~/.bashrc 설명 (3) | 2024.09.26 |
#!/bin/bash vs #!/usr/bin/env bash (5) | 2024.09.22 |
useradd, userdel, usermod 등 명령어 설명 (4) | 2024.09.21 |
APT 설명 (7) | 2024.09.09 |