Linux - 15. 사용자 관리
by jennysgap사용자 관리
- 사용자 계정 관련 정보 확인
- 사용자 계정 생성
- 사용자 계정 변경
- 사용자 계정 삭제
1) 사용자 계정
Account : 사용자가 인증 등의 수단을 위해 사용하는 컴퓨터 상의 이름 정보
login ID : 컴퓨터가 사용자 식별을 위해 사용하는 관리 번호
2) 사용자 관리를 위해 사용되는 파일들
- /etc/passwd
root : x : 0 : 0 : root : /root : /bin/bash
--- --- --- --- ---- ----- ---------
account pass uID gID name home shell
command
- /etc/shadow
root : $6$s/gs.....nIOBL0 : 16257 : 0 : 99999 : 7 :::
--- ---------------- ----- --- ----- ---
account password 최종변경일 최소변경일 최대변경일 경고일
- /etc/group
root : x : 0 : root
----- -- -- ----
group name pass gID 소속된 계정(2차)
패스워드 종류
1. $6$s/gs.....nIOBL0 : 정상적인 패스워드
2. * : 설정 불가 패스워드
3. !! : locking password. 임시적으로 막아놓은 패스워드
4. 빈칸 : nonpasswd. 제일 안좋은 상태, 이렇게 만들어 놓으면 안됨
3) 사용자 계정 추가 명령
# useradd [-options] [arguments] new_account
# passwd new_account
# useradd -d /home/newuser -m -s /bin/bash -u 100 -g 200 -G 201 newuser
-d dir명 : 사용자의 홈디렉터를 표시 /etc/passwd 6번 필드에 기록되는 내용
-m : mkdir 명령을 실행하여 홈 디렉터리 생성
-s shell : 사용자가 이용할 명령 줄 프로그램 지정
-u uid : 사용자를 인지할 수 있는 ID 설정
-g gid : 사용자가 소속된 그룹에 대한 ID 설정
-G gid : 사용자가 소속된 2차 그룹에 대한 설정 (/etc/group 등록)
# useradd test1
# tail /etc/passwd
# tail /etc/shadow
# tail /etc/group
# ls -l /home
# ls -l /var/spool/mail
# useradd -d /home/test2 -m test2
# passwd test2
# useradd -u 200 -g 0 test3
# useradd -G 0,1,2,3 -s /bin/csh test4
# more /etc/group
* 생성된 사용자 계정의 LOCK 해제
# passwd account_name
# passwd -d account_name : 패스워드 자리의 글자 삭제(/etc/shadow)
==> 패스워드가 없는 상태가 되므로 계정명만으로 로그인 가능.
==> 보안적으로 매우 위험.
* 계정 패스워드 LOCK 및 해제 (사용중인 계정)
# passwd -l account_name : 패스워드 잠금
# passwd -u account_name : 패스워드 잠금 해제
**** 패스워드 잠금 및 해제는 root 사용자만 가능.
4) 계정 내용 변경
# usermod [-options] [argument] exist_user
-l change_account : 계정명 변경 (-d 옵션 사용 필수)
# usermod -l test2 user2
# usermod -l test3 -d /home/test3 -m user3
# usermod -G 0,1,2 test2
# more /etc/group
# usermod -G 1,2 test2 (0그룹 탈퇴)
# more /etc/group
# usermod -G '' test2 (2nd 그룹 탈퇴)
5) 계정 삭제
# userdel [-option] exist_account
-r : 홈디렉터리 삭제
* 계정 삭제 작업 시 사용자의 홈디렉터리가 삭제되기 전 반드시 데이터 확인
# userdel test2
# cat /etc/passwd
# cat /etc/shadow
# cat /etc/group
# ls -l /home
# userdel -r test3
6) 그룹 관리
# groupadd [-options] new_group : /etc/group 파일에 신규 그룹 등록
# groupmod [-options] exist_group : /etc/group 내 그룹 정보 변경
# groupdel exist_group : /etc/group 내 해당 그룹 삭제
* 그룹을 먼저 만들거 계정을 만들어라!
# groupadd hrd
# groupadd eng1
# groupadd sales
# tail -5 /etc/group
# groupmod -n market sales --> group 이름 변경
# tail -5 /etc/group
# groupdel user1
# useradd -g hrd class1
# grep -n class1 /etc/passwd /etc/shadow /etc/group
# passwd class1
# 다른 그룹에도 계정 하나씩 적용하여 만들어 보기
7) 패스워드 보호
- 패스워드 변경 주기? 분기마다. 3개월 주기로
- 패스워드의 길이? 길수록 좋음. 10자리 특수문자 포함
* /etc/shadow 파일에 각 사용자 마다 설정을 만든다. (복잡)
* /etc/login.defs
PASS_MAX_DAYS 90일 동안만 사용 가능
PASS_MIN_DAYS 변경 불가일 (패스워드 한달마다 바꾼다고 생각하면 며칠동안은 외울시간이 있어야 하니 이날 까지는 변경불허)
PASS_MIN_LEN 패스워드 길이는 5자 이상
PASS_WARN_AGE 패스워드 만료되기 직전 경고일수
ENCRYPT_METHOD SHA512 해쉬값 = %값% 현재 리눅스가 사용하고 있는 키값.
SHA-2 (Secure Hash Algorithm 2). 설명참조 http://copynull.tistory.com/96
USERGROUPS_ENAB yes 유저를 만들 때, 그룹을 설정하지 않으면 유저 이름과 같은 이름으로 그룹을 만들어 설정하겠다.
* 패스워드 변경 사항 점검에 사용되는 명령
# chage -l userID
시스템에서 지원해주는 명령어들을 사용해 주는 것 = CLI
root 라는 계정으로 login은 안된다.
- ssh 라는 통신방식을 사용하면 받아 준다.
- 왠만하면 root로 로그인은 하지 말라!
C ============ Server (Terminal 지원)
----------------------> login Shell
root login X login : user1 --> /etc/passwd
ssh O password: --> /etc/shadow
crypt key (qwer1234) 글자 깨지는 모양이 똑같으면 같은 패스워드구나 함 (hash password)
Shell 의 두가지 상황
- 사용자 관점 : 현재 작업을 하고 있는 명령줄 user$ 즉, shell = 명령줄
- 개발자 관점 : 사용자 명령줄을 띄우게 하기 위한 상황들을 말한다.
- 또 다른 이름은 'CLI' 라고 함
*sh --> 이렇게 생긴 것은 거의 다 쉘이다.
위치 : /bin 에 있다.
다양한 쉘을 사용해 보고 자기한테 편한 걸로 쓰면 된다.
기본적인 명령은 비슷
'BOX' 카테고리의 다른 글
Linux - 17. 디스크관리(Mount 파일시스템, 파일시스템체크) (1) | 2016.12.07 |
---|---|
Linux - 16. 디스크 관리(디스크 파티셔닝, 파일 시스템) (0) | 2016.12.07 |
Linux - 14. 네트워크 설정 별 관리 파일 (0) | 2016.12.07 |
Linux - 13. 네트워크 명령 (0) | 2016.12.07 |
Linux - 12. 기타 명령 (0) | 2016.12.07 |
블로그의 정보
jennysgap
jennysgap