리눅스는 다중 사용자 시스템이다. 즉 서버 한대에 여러명이 접속한다. 그러므로 사용자를 관리하고 그룹을 관리하는게 중요한 이슈이다. 기본적으로 rootㄹ는 슈퍼유저가 관리하며 모든 사용자는 하나 이상의 그룹에 소속되어야 한다. 사용자는 /etc/passwd에 정의되어 있다. 아래의 명령문을 실행시켜 vi 에디터로 확인해보자.
1
# vi /etc/passwd
마지막 줄엔 다음과같은 코드가 존재한다.
1
centos:x:1000:1000:centos:/home/centos:/bin/bash
이에 대해 자세히 알아보자.
1.centos = 사용자가 centos 이다.
2.x = 비밀번호
3.1000 = centos라는 사용자의 ID
4.1000 = centos사용자는 반드시 소속된 그룹이 있어야하는데 이는 소속된 그룹의 ID 즉 그룹번호이다. 어떻게 그룹번호를 갖고 그룹명을 알까? /etc/group 파일에 정의되어 있다. 이 파일을 vi 에디터로 열면 그룹이름:그룹비밀번호:그룹의ID(그룹번호)의 형식을 갖는다. centos:x:1000:centos // 그룹이름:그룹비밀번호:그룹의ID(그룹번호) 이게 무슨뜻일까? centos라는 사용자가 centos그룹에 속해 있다는 것이다. 마지막 centos 는 생략이 가능하며 신경쓰지 않아도 된다. 예를 들면 홍길동이라는 부서에 홍길동 사원이 존재하는것이다. 회사에서는 부서를 만들고 사원을 뽑는다. 마찬가지로 centos도 새로운 사용자를 만들면 사용자 이름과 같은 그룹을 만들고 이 그룹에 해당시킨다. 이것과 관련해 실습을 진행해보자.
1 2 3 4 5 6 7 8
# useradd myuser //유저 등록 # tail -5 /etc/passwd //해당파일의 마지막 5줄만 보기
myuser:x:1001:1001::/home/myuser:/bin/bash //그룹번호 1001을 기억
# tail -5 /etc/group //해당파일의 마지막 5줄만 보기
myuser:x:1001: //사용자 이름과 같은 그룹이 만들어졌고 그 그룹에 사용자가 속해있다.
5.centos = 전체이름이다. 생략이 가능하다
6./home/centos centos = 사용자의 홈 디렉토리
7./bin/bash = 사용할 기본 쉘
실습해보자
디렉토리 설명 /etc/passwd : 사용자 정보가 있음 /etc/shadow : 사용자 비밀번호가 있음(비밀번호는 암호화되어서 저장됨) /etc/group : 그룹정보가 있음