IT공부

[리눅스] 사용자계정 생성

shine94 2020. 12. 27. 20:03

1. 사용자와 관련된 파일

 : /etc/passwd, /etc/shadow, /etc/skel, /etc/default/useradd

 


2. /etc/passwd

 : 사용자 계정의 정보가 들어있는 파일

 

3. cat /etc/passwd | grep samadal

   결과 : samadal:x:1000:1000:samadal:/home/samadal:/bin/bash

 

** 결과 구조

   samadal : 사용자 계정 이름
   x : 비밀번호
   1000 : UID(User ID)
   1000 : GID(Group ID)
   [UID, GID : 일반사용자 1000부터 시작, 시스템 계정 0 ~ 999 / 1) 시스템(숫자), 2) 사용자(문자)로 표현]
   samadal : Comment(부연설명, 닉네임)
   /home/samadal : 사용자 계정 홈 디렉터리
   /bin/bash : 쉘(shell) 종류 -> bash

 

 

4. 사용자 계정 생성

   └ 형식 : useradd [옵션1] [값1] [옵션2] [값2] ... [사용자명]

   └ 옵션
       ① c : comment
       ② s : 쉘 변경
       ③ d : 사용자의 기본 홈 디렉터리의 정보를 변경
       ④ -u : uid 변경
       ⑤ -g : gid 변경

 

 

5. 계정 비밀번호 변경
   └ 형식 : passwd [사용자계정, 이때 계정 이름 생략시 현재 접속중인 계정 변경]

 

 

6. 사용자 계정 생성 관련으로 확인할 수 있는 것들
   ① 사용자 정보 확인 ☞ tail -3 /etc/passwd
   ② 사용자의 기본 홈 디렉터리 확인 ☞ ls -l /home/
   ③ 사용자 개인 메일 파일 확인 ☞ ls -l /var/spool/mail/
   ④ skel(=자동 생성 디렉터리) 확인 ☞ ls -la /etc/skel/

 


7. skel ☞ (예) 뼈대
 : /etc/skel/ 안에 파일과 디렉터리를 생성하면,
   사용자 생성시, 사용자의 홈 디렉터리에 자동으로 /etc/skel/ 안에 있는 것들이 복사되면서
   사용자 홈 디렉터리에 만들어진다.

 

** 사용자 지정 skel 디렉터리 이용

   ① /etc/samskel/ 생성
   ② /etc/skel/ 안에 있는 것들을 모두 /etc/samskel/에 복사
      [주의]
      cp -r /etc/skel/.* /etc/samskel/ 명령어를 이용, 상위 디렉터리의 내용까지 복사되기 때문에
      cp -r /etc/skel/.b* /etc/skel/.k* /etc/skel/.m* /etc/skel/* /etc/samskel/ 명령어를 이용하여 복사해야 한다.
      /etc/skel/.* 명령어를 이용, ..도 포함이 되고, ..의 뜻은 상위라는 뜻이기 때문에 상위 디렉터리 내용도 복사된다.
      [이때!] /etc/skel/과 구분하기 위해 sam 파일을 mas 파일로 변경...!
      mv /etc/samskel/sam /etc/samskel/mas
   ③ useradd -m -k /etc/samskel user5 혹은 useradd -mk /etc/samskel user5 둘 다 가능 
      [주의] -m과 k 옵션의 순서는 바꾸면 안된다...!

 

 

8. 사용자 계정 생성시 기본 환경 설정 파일
1) 명령어로 사용자 환경 설정 변경

   └ 형식 : useradd -D [옵션] [값]

   └ 옵션
       ① b : HOME
       ② s : SHELL 
       ③ SKEL은 명령어를 이용하여 환경 설정 변경이 불가, 대신 문서 편집기를 이용하면 변경 가능!

 

2) 문서 편집기를 이용하여 사용자 환경 설정 변경

   vi /etc/default/useradd

 

** 꼭 알아야 하는 환경 설정

   ① HOME=/home : 사용자 계정 생성시 사용자 계정의 홈 디렉터리 기본경로(위치)를 지정

   ② SHELL=/bin/bash : 기본 쉘 선택

   ③ SKEL=/etc/skel : 사용자 홈 디렉터리에 기본 복사될 스켈 지정

   ④ CREATE_MAIL_SPOOL=yes : 사용자 생성시 메일 생성할지 여부, /var/spool/mail/에서 메일 확인 가능

 

 

9. 실습