열렬히.뛰기

born2beroot - 유저 관리하기

école 42 > born2beroot > born2beroot - 유저 관리하기

리눅스의 계정

bash
# (계정)@(hostname)
inchoi@inchoi42

계정

리눅스에서는 사용자를 root(관리자)와 일반사용자로 구분한다.

각각 계정은 흔히 사용하는 ID가 아니라 번호로 부여하는 UID(User Identity)로 관리한다.

  • 루트 계정 : 모든 권한을 가진 특별한 사용자
  • 시스템 계정 : 리눅스 설치 시 기본으로 생성되는 계정
  • 사용자 계정 : 실제 리눅스 사용자를 위한 계정

root (Super User)계정은 UID값이 0으로 지정된 관리자계정이다.

  • 여기서는 다른 계정을 생성하거나 권한을 부여하고 비밀번호를 바꿀 수 있다.
  • 만약 다른계정에 UID값을 0으로 변경한다면 관리자와 마찬가지로 모든 권한을 가질 수 있다.

시스템계정은 필요에 의해 자동으로 생성되는 계정이다.

  • 대표적으로 bin, daemon, adm, lp,sync, shutdown, halt, mail 등 여러가지가 있다.
  • 일반적으로 로그인은 불가능하다.

그룹

어떤 파일이나 폴더를 특정 권한이 있는 사용자들끼리만 공유하기 위해 주로 사용하는 개념

사용자는 여러개의 그룹에 속할 수 있으며, 자기 자신이 그룹이 될 수도 있다.

그룹에는 primary group과 secondary group이 존재.

primary group은 1개만 존재.

  • 사용자가 로그인할 때, 파일 또는 디렉토리를 생성할 때 부여되는 기본 그룹.
  • 따라서 처음 계정을 만들면 자기 자신이 primary group이 됨.
  • 이후 변경할 수 있음.

secondary group은 여러개 존재 가능.

  • 사용자가 파일 또는 디렉토리를 읽거나 쓰거나 실행할 때 지정된 그룹들의 권한을 받음.
  • 없거나 여러 개 지정 가능

호스트네임

각 장치(컴퓨터, 파일 서버, 복사기, 케이블 모뎀 등)별로 부여되는 고유한 이름을 의미.

IP주소를 갖고 있는 '어떤 것'에 '이름(name)'을 부여한 것이라고 생각.

IP주소를 사람이 일일이 기억하기 힘들기 때문에 탄생한 개념.

현재 정보 확인

bash
hostnamectl

재설정하기

bash
sudo hostnamectl set-hostname <변경할 hostname>

user를 sudo Group에 추가하기

user42라는 이름의 group을 추가

bash
sudo groupadd user42

해당 그룹에 유저를 추가하기. 그룹이 여러개면 공백없이 콤마로 구분

bash
usermod -aG sudo,user42 (사용자이름)

다음 명령어로 user42 그룹이 primary group이 되게 한다.

bash
usermod -g user42 (사용자이름)

primary group은 해당 user의 정해진 대표(?) group이다. 기본적으로 username과 동일한 이름이다. secondary group(supplementary group)을 user에게 추가해 주면 해당 group이 생성한 파일이나 프로세스 등을 접근할 수 있게 된다.

추가가 되었는지 확인하려면 다음 명령어를 사용한다.

bash
id (유저이름)

사용자가 속한 그룹 확인

bash
groups inchoi

옵션

G 옵션: G 옵션만 붙힌 상태에서 그룹 설정 시, gid그룹을 제외하고 명령어에 나열된 그룹만 추가가 되며 명령어에 나열되어 있지 않지만 유저가 속해있는 그룹은 전부 탈퇴된다.

a 옵션: 반드시 G 옵션과 같이 쓰일 수 있고, G옵션만 붙었을 때와 달리, 유저가 속해있지만 명령어에 나열되어있지 않는 그룹에 관하여 탈퇴처리 되지 않는다.