리눅스에서 사용자를 생성할 시 고려해야 할 사항

- 사용자를 어느 그룹에 넣을 것인지
- UID (고유한 아이디. 학번의 개념)
- GID (속한 그룹 아이디. 학과의 개념)
- 사용자의 홈디렉토리를 어디에 둘 것인지
- 쉘은 무엇을 쓸 것인지


● 계정 생성 및 흐름
UID = 5000
GID = 500
Home Directory = /home/oracle
Shell = /bin/bash
Login ID = oracle
# useradd -u 5000 -g 500 -d /home/oracle -s /bin/bash oracle
  ↓
위 명령을 날리면 /etc/passwd 파일[각주:1]에 사용자 등록.
  ↓
그리고 /home/oracle 라는 홈디렉토리 생성.
  ↓
그리고 /etc/skel/* 모든 파일을 홈디렉토리 밑으로 전부 복사.
  ↓
그리고 복사한 파일들에 사용자 권한을 설정.

# useradd oracle라고 해도 된다. 그 사이에 있는 설정값들은 서버가 자동으로 잡아준다. [각주:2]


● 그룹 생성
사용자를 추가하기 전에 500번 그룹이 먼저 만들어져 있어야 한다. 없다면 먼저 500번 그룹을 만들어 주고 사용자를 추가시켜 주어야 한다.
GID = 500
Group Name = dba
# groupadd -g 500 dba


● 그룹 및 유저 삭제
# groupdel 그룹명
# userdel 계정명
# userdel oracle 을 입력하면 oracle이라는 사용자는 지워지는데 사용자가 쓰던 /home/oracle이라는 홈디렉토리는 지워지지 않는다. (실수로 계정을 지웠을 때 다시 한번 해당 계정에 useradd를 해주면 정상적으로 홈디렉토리를 사용 가능)
# userdel -r oracle 하면 사용자와 함께 사용자가 쓰던 /home/oracle 홈디렉토리까지 모두 지워진다.(굉장히 위험한 옵션이므로 신중히 사용하자)


● 계정 정보 변경
# usermod -g 505 oracle
# usermod -u 0 -o oracle
# usermod -g 505 oracle 은 oracle 계정의 그룹번호(GID)를 505로 변경.
# usermod -u 0 -o oracle 은 리눅스에서 UID와 GID를 0으로 쓰는 계정은 루트밖에 없는데, oracle계정을 루트권한까지 끌어올리는 명령임. 즉, UID=0으로 변경.
리눅스에서 계정 및 계정권한은 UID를 보고 결정한다. 이런 정보가 /etc/passwd 파일에 들어있다.


● 계정 암호 생성
# passwd 계정명



◆ /etc/passwd
사용자 이름 : 암호 : 사용자ID : 사용자가 소속된 그룹ID : 전체 이름 : 홈 디렉토리 : 기본 쉘
root:x:UID:GID:root:/root:/bin/bash
여기서 두번째에 x는 계정의 암호가 /etc/shadow 에 들어있다는 뜻. 원래는 암호가 들어있었는데 보안을 강화하기 위함. 

◆ /etc/shadow
/etc/shadow를 열었을 때 !!는 해당 계정에 아직 암호가 설정되지 않았다는 뜻.
passwd 명령으로 계정의 암호를 설정한 후 /etc/shadow를 열어보면 : : 사이에 md5 알고리즘으로 변환된 암호코드가 있다.
만약 루트 암호를 잊어버렸을 때 : : 사이의 값을 모두 지워주기만 하면 암호를 묻지 않고 루트로 로그인을 할 수 있다. 물론 로그인 후에는 루트 암호를 다시 설정해 주어야 하는 것을 잊지 말자.
userdel 명령어를 날리면 /etc/passwd와 /etc/shadow파일에서 해당 계정에 대한 정보가 지워진다.
로그인을 하면 무조건 먼저 /etc/passwd를 확인하고 그 후 /etc/shadow를 확인한다.
계정을 휴면상태로 하고 싶다면 /etc/passwd 안의 해당 계정 줄 맨 앞에 주석(#)을 달아주면 된다.

◆ /etc/group
그룹명 : 비밀번호 : 그룹ID : 그룹에 속한 사용자명
groupadd 명령어로 그룹을 만들면 이 파일의 제일 아래쪽에 그룹에 대한 정보가 생성된다.
  1. passwd파일은 현재 서버에 등록되어 있는 사용자의 명단임 [본문으로]
  2. # useradd -D 입력하면 자동으로 잡아주는 설정값을 미리 확인 가능 [본문으로]
Posted by 겨울섬
,