본문 바로가기
IT.인터넷

리눅스 사용자 계정 추가

by Mr-후 2017. 8. 3.
반응형

리눅스 사용자 계정 추가



현재 자신이 root계정을 사용하는 시스템 관리자라면 현재의 시스템을 사용하게 될 일반 사용자의 계정을 새롭게 추가해 줄 수 있다. 일반적으로 새로운 사용자 계정을 추가하는 방법은 다음과 같다. 


첫 번째는 사용자 계정에 관계된 파일을 편집함으로써 추가하는 방법이며, 두 번째 방법은 콘솔 상태에서 useradd 명령을 이용하는 방법이다. 


/etc/passwd 파일 편집하기. 


사용자를 추가할 때 가장 중요하게 사용되는 파일은 passwd이다. passwd 파일은 모든 사용자 계정과 패스워드를 기억하는 것은 물론 해당 사용자가 시스템에 로그인할 수 있도록 여러 가지의 속성을 갖고 있다. root의 권한으로 passwd파일을 열어보게 되면 다음과 같은 복잡한 내용을 보게 될 것이다. passwd파일에서 정의된 각각의 사용자 계정은 다음과 같이 7개의 필드로 이루어진 하나의 엔트리 라인(entry line)을 가지고 있다. 


사용자 계정 : 패스워드 : UID : GID : 코멘트 : 홈디렉토리위치 : 쉘의종류 


(1)                 (2)            (3)    (4)     (5)         (6)                     (7) 


> 사용자 계정

위의 칼럼에서 첫 번째 항목에 해당하는 것으로 namilpark은 사용자의 고유한 계정을 의미한다. 계정은 시스템을 사용하는 개개인에게 부여되기 때문에 사용자의 실명과는 구분하여 추가하는 것이 바람직하다. 


> 패스워드 

패스워드 항목은 사용자의 패스워드가 존재하고 있음을 나타내며, 새로운 계정을 추가 할 때 지정해준 패스워드를 'x'로 대체하여 저장하게 된다. 


> UID(User IDentification) 

리눅스가 커널 속에서 사용자를 위한 프로세스 진행 시, 사용자 계정을 확인할 때 사용하는 것이다. 새로운 사용자 계정을 만들 때, 중복된 UID를 사용하게 되면 사용자 계정이 중복될 때보다 더욱 심각한 문제를 발생하게 된다. 결국, UID는 리눅스 시스템이 사용하는 개인의 신분증이라고 생각하면 된다. 반대로 사용자 계정은 리눅스 관리자가 사용하는 ID정도로 생각할 수 있다. 따라서 리눅스의 내부에서는 모든 파일이나 프로세스의 관리는 사용자 계정이 아니라 UID를 사용하는 것이다. 이 때문에 리눅스는 사용자가 입력한 사용자 계정의 정보는 반드시 UID로 바꾸고 나서 내부에서 처리하게 되어 있다. UID의 값 중에서 0에서 99까지의 숫자는 root(UID는 0)나 그 외의 시스템 관리상 필요한 특별한 사용자에게 할당되게 된다. 이것들 대부분은 실체가 없는 사용자로, 로그인하는 것이 불가능하거나 그럴 필요가 없는 것들뿐이다. 


> GID(Group IDentification) 

GID는 그룹의 신분을 의미하며 시스템 내의 사용자가 속한 그룹의 신분증으로 사용된다. 리눅스는 이 정수를 사용자 계정의 기본 그룹을 설정할 때 사용하게 된다. 하나의 그룹에는 한 사람 이상의 사용자가 들어 있으므로 많은 사람이 같은 GID를 사용하게 되기도 한다. GID는 여러 사용자를 모아서 사용자 그룹으로 정의하고서, 그 그룹에 속한 사용자 사이에서는 파일 등을 공유 하는데 사용된다. 예를 들면, 기업 등에서 리눅스를 사용하는 경우에는 부서마다 하나씩 고유한 GID를 정해서 그 부서에 소속한 사용자의 GID를 하나로 통일시키는 사용법이 가능하다. 그 외에 다른 부서의 사람에게는 보이고 싶지 않지만, 부서 내의 사람과는 공유하고 싶은 파일이 있을 때 GID가 같은 사용자는 읽기가 가능하지만 GID가 다른 사용자는 읽을 수 없도록 설정할 수 있다. 


> 코멘트 

시스템을 사용하는 사용자가 많아지면 사용자의 간단한 정보나 실명 등을 모두 기억한다는 것은 쉽지 않은 일이다. 따라서 코멘트 부분에서 사용자의 실명이라든지, 연락처 등을 간단하게 남겨 설명해 놓을 수 있다. 


> 홈 디렉토리 위치 

홈 디렉토리는 사용자 계정의 기본 디렉토리를 나타낸다. 사용자가 처음 로그인했을 때, 처음으로 지정되는 디렉토리이다. 사용자의 스크립트와 저장된 내용, 사용자의 특정한 쉘 정보도 이곳에서 쓰이게 된다. 보통, 시스템 대부분은 /home에 사용자 홈 디렉토리를 만들게 된다. 그러나 관리자가 임의적으로 특정한 디렉토리로 변경 설정할 수 있다. 


> 쉘의 종류 

쉘의 종류는 사용자가 로그인했을 때, 사용자에 의해 활성화되는 최초의 쉘을 의미한다. /bin/bash은 'Bourne Again Shell'을 의미하고, /bin/csh은 'C Shell'로 시작한다는 것을 의미한다. 



useradd명령 이용하기 


useradd 명령은 새로운 사용자를 생성할 때 사용하는 명령이고, 관리자용 명령이므로 root 계정이 아니면 사용할 수 없다. 간혹 adduser와 혼동을 일으키기도 하지만, adduser는 단지 useradd명령에 링크된 별칭과도 같은 명령이라고 이해하는 것이 좋다. 


useradd 명령의 사용법은 다음과 같다. 


# useradd [옵션][새로운 사용자 계정] 


useradd의 옵션 

-c    : 새로운 사용자의 코멘트를 추가 

-d    : 새로운 사용자의 기본 디렉토리 위치를 지정(기본값은 /home/계정명) 

-e    : 지정된 날짜까지 계정을 사용 

-u    : 사용자의 ID값 

-s    : 사용자의 로그인 쉘을 지정 

-G   : 사용자를 기본 그룹 이외의 다른 그룹에 추가하고자 할 경우 


useradd 명령을 이용하여 yonghu 라는 계정을 새롭게 추가하는 예, 

# useradd younghu 


younghu의 패스워드 생성 


사용자의 패스워드를 변경하는 일은 root 권한만이 수행할 수 있으며, 일반 사용자는 자신이 패스워드만 변경할 수 있다. 

# passwd younghu 


이때 입력한 패스워드는 실제로는 보이지 않는다. 하지만, 시스템 상에서는 패스워드가 들어가게 되므로 당황할 필요가 없다. 패스워드는 재확인하는 절차를 거치게 되며, 패스워드가 적절하지 못할 경우는 다음과 같은 메시지를 표시하게 된다. 

  • it is too short 
  • it is too simplistic/systematic 
  • it is too similar to the old one 
  • it does not contain enough DIFFERENT characters : 
useradd가 참조하는 파일 리스트 
/etc/passwd        > 사용자 계정에 대한 정보를 보관한다. 
/etc/shadow        > shadow passwd를 사용하면 사용자의 패스워드가 이곳에 암호화되어 별도로 관리된다. 
/etc/skel              > 새로운 사용자의 홈 디렉토리에 복사되는 환경설정 파일의 템플릿들이 위치한 디렉토리 
/etc/group           > 그룹 설정과 관련된 정보를 저장한다. 
/etc/login.delf     > 패스워드의 자릿수, 유효기간 등의 정보를 설정한다. 
/etc/default/useradd > 사용자의 홈 디렉토리, 기본 쉘 환경 등을 설정한다. 

출처 : Linux CentOS기초에서 활용까지

 




반응형