본문 바로가기
운영체제/리눅스

(리눅스) 사용자관리

by Cloud_Park 2018. 11. 23.
1 사용자 관련 파일
  1) /etc/passwd
	리눅스 시스템에 있는 모든 사용자에 대한 기본 정보가 들어 있는 파일
	파일의 내용을 :으로 구분을 해서 저장
	  1  2 3 4  5     6      7
	root:x:0:0:root:/root:/bin/bash
	bin:x:1:1:bin:/bin:/sbin/nologin
	daemon:x:2:2:daemon:/sbin:/sbin/nologin
			중략
	sjb:x:1000:1000:sjb:/home/sjb:/bin/bash


	(1) 사용자 이름
	(2) 사용하지 않는 필드(옛날에 패스워드가 저장되었던 필드)
	(3) 해당 사용자의 UID
	(4) 해당 사용자의 주 그룹의 GID
	(5) 주석
	(6) 해당 사용자의 홈 디렉토리(내 문서)
	(7) 해당 사용자가 사용하는 쉘 종류


  2) /etc/shadow
	리눅스 시스템에 있는 모든 사용자에 대한 패스워드 정보가 들어 있는 파일
	파일의 내용을 :으로 구분을 해서 저장
	  1             	2    			  3  4        5       6   7  8   9
	root:$6$3KSzSujoZ4nUIyYR$.mc   생략   YP8.hLW3/  :  :  0  :  99999  :  7  :  :  :
	bin:*:17632:0:99999:7:::
	daemon:*:17632:0:99999:7:::
		중략
	sjb:$6$b9chy$Eu34   생략   OBUioN/l0  :  17802  :  0  :  99999  :  7  :  :  :  

	(1) 사용자 이름
	(2) 해당 사용자의 패스워드
		$로 다시 구분
	  첫번째$뒤 : 암호화 방식 지정(1:md5, 6:sha512)		
	  두번째$뒤 : SALT 값, 운영체제가 패스워드를 설정할 때 랜덤하게 생성
	  세번째$뒤 : 암호문

	패스워드 입력 -> Salt 값 생성 -> 패스워드를 암호화(암호문) -> crypt(암호문, Salt) 함수 실행 -> 최종 암호문


	(3) 마지막 패스워드 변경 시간(리눅스 탄생일로부터 변경한 날짜까지의 일 수)
	(4) min 패스워드 사용 기간
	(5) max 패스워드 사용 기간
	(6) warn 패스워드 만기일 전 사전에 경고 메시지를 출력해주는 날짜
	(7) inactive 사용자 계정의 휴면 기간
	(8) expire 만료일, 만기일이 되면 자동으로 해당 사용자의 계정을 lock 상태로 만듦
	(9) 예약 필드, 사용 X


  3) /etc/group
	  1  2 3 4
	root:x:0:sjb
	bin:x:1:sjb
	daemon:x:2:sjb
	    중략
	sjb:x:1000:


	(1) 그룹의 이름
	(2) 사용하지 않는 필드(옛날에 패스워드가 저장되었던 필드)
	(3) 해당 그룹의 GID
	(4) 보조 그룹으로 속한 사용자들의 이름



사용자 관리 명령어


1.useradd [옵션] 계정명

옵션 -d 홈디렉토리 : 홈디렉토리의 경로를 지정해줍니다. 홈디렉토리를 생성할려면 -m 옵션을 같이 사용합니다. -u uid : uid 를 지정합니다. -g gid : gid 그룹을 지정합니다. -G groups : 보조그룹을 지정합니다. -s shell : 쉘을 지정합니다. -c 주석 : 계정에 설명을 붙여 줍니다. -D : useradd 의 기본 설정값을 확인합니다. 기본설정은 /etc/default/useradd 에 있습니다. 계정생성시 홈디렉토리에 복사될 파일 모음 /etc/skel 계정을 새로 생성하면 위에 경로에 저장되어 있는 파일이 자동으로 홈디렉토리에 복사됩니다.

2. cat /etc/passwd | grep [계정명] /etc/passwd 안에 사용자 계정정보가 들어 있습니다. cat 명령으로 열어보고 | grep 계정명으로 특정 단어만 검색해서 확인을 하면 됩니다. 나오는 정보는 [ID : 패스워드 : UID : GID : 주석 : 홈디렉토리 : 쉘] 순서로 정보가 표시 됩니다. 패스 워드 정보는 x or 1! or 암호화된 상태 로 표시되게 됩니다.



3. usermod [옵션] [계정명]

옵션 -u uid : 새로운 UID 를 지정합니다. -o 옵션과 같이 사용하면 강제설정이 가능합니다.(root로 가능) -g gid : 새로운 GID 를 지정합니다. -G groups : 새로운 보조그룹을 지정합니다. -d 홈디렉토리 : 새로운 홈디렉토리를 지정합니다. -m 옵션과 같이 사용해서 새로 생성도 가능합니다. -s 쉘 : 새로운 쉘 을 지정합니다. -c 주석 : 새로운 주석을 지정합니다. -l ID : 로그인 ID를 바꾸는 옵션 입니다. 새로운 계정명으로 변경합니다.

4. userdel [옵션] [계정명]

옵션 -r : 홈디렉토리도 삭제를 합니다. -f : 삭제중에 나는 에러를 무시하고 강제로 삭제 합니다


5. passwd [옵션] [계정명]


옵션

-S : 계정에 상태를 표시합니다. (PS : 정상 , NP : 패스워드가 없음 , LK : Lock 상태거나 NP 상태)

-d : 계정에 패스워드를 삭제 합니다.

-l : 계정을 lock 상태로 변경합니다.

-u : 계정에 lock 상태를 해제 합니다.






계정관련 명령어.txt


'운영체제 > 리눅스' 카테고리의 다른 글

(리눅스)디스크 관리 명령어  (0) 2018.11.23
(리눅스)그룹 관리 명령어  (0) 2018.11.23
(리눅스)아카이브 및 압축  (0) 2018.11.23
(리눅스)프로세스 제어  (0) 2018.11.23
(리눅스)쉘 명령어 사용  (0) 2018.11.23