(10101101)173/UNIX2009. 4. 26. 12:40
위치 설명
/etc/passwd passwd파일 안에는 사용자의 계정정보가 생성됩니다. 로그인 요청시 가장먼저 읽어집니다.
root권한 사용자는 변경이 가능하지만 일반 사용자는 변경이 불가능 합니다.
/etc/shadow shadow파일 안에는 사용자의 패스워드가 등록됩니다.
root권한 사용자라도 변경은 추천하지 않습니다.
/etc/group group파일 안에는 사용자의 그룹이 생성됩니다.
/home home밑에 사용자의 홈디렉토리가 생성됩니다.
useradd로 사용자의 계정을 생성하게 되면 위 파일 및 폴더에 해당 사용자의 정보가 갱신 됩니다. 이 외에도 다른 파일들이 있습니다.

[그림 1. 생성할 계정에 존재유무 확인]

구지 할 필요는 없지만 한 스크린샷에 계정생성 유무를 한번에 표현하기 위해 추가할 계정을 확인을 해 보았습니다. 현제 passwd, shadow, group 파일과 home 디렉토리 밑에 추가하려는 "testAcc"계정은 존재하지 않습니다. 이는 빨간색 박스안에 표시되어 있습니다. 회색 박스에서 useradd명령으로 testAcc계정을 추가해 줬습니다. 노란색 박스에 보면 passwd, shadow, group파일과 home 디렉토리 밑에 추가한 testAcc계정이 보이게 됩니다.

노란색 박스안에 빨간밑줄은 passwd파일에담긴 testAcc계정 정보 입니다. 콜론( : )으로 정보가 구분되어 있습니다.
정보 설명
testAcc 계정명
x 패스워드
501 UID
501 GID

사용자 정보
/home/testAcc  홈 디렉토리 위치
/bin/bash 사용하는 쉘
[표 1. passwd파일 정보]

사용자 정보 부분이 비어있는 이유는 useradd명령어로 계정을 추가할때 계정정보를 입력하지 않아서 입니다. 또 shadow파일을 사용하기 때문에 패스워드가 x로 나오게 됩니다. shadow파일을 사용하지 않을경우 shadow파일에 입력될 MD5값이 들어가게 됩니다.

회색밑줄은 shadow파일에 담긴 testAcc계정 정보 입니다. passwd와 마찬가지로 콜론으로 정보가 구분되어 있습니다.
정보 chage 명령 옵션 설명
testAcc 계정명
!!
패스워드
14360 chage ID -d [n] 최종 암호 변경일로 마지막으로 패스워드를 변경한 날짜가 저장 됩니다.
패스워드 에이징을 위한 기준날짜가 됩니다.
0 chage ID -m [n] 암호변경 최소 일수로 마지막 암호 변경일을 기준으로 입력된 일수가 지난후에만
패스워드 변경이 가능합니다.
99999 chage ID -M [n] 암호변경 최대 일수로 마지막 암호 변경일을 기준으로 현재 사용중인 암호를
변경하지 않고 사용할 수 있는 일수입니다.
7 chage ID -W [n] 암호변경 경고 일수로 암호변경 최대 일수로부터 암호 변경 메시지를 출력할
남은 일수입니다.

chage ID -I(대문자 i) 설정된 날짜까지 사용자가 로그인하지 않을경우 사용자계정이 잠기게 됩니다.

chage ID -E [n] 사용자가 마지막으로 시스템을 사용할 수 있는 날자입니다.

예약공간으로 현재 사용하지 않습니다.
[표 2. shadow파일 정보 n값은 일반 정수입니다.]

여기서 기간정보가 숫자로만 입력되어 있는대 이 기간에 기준일은 1970년 01월 01일부터 계산한 날짜입니다. 패스워드 부분이 MD5값이 아니라 느낌표 두개(!!)가 입력되어 있는대 이 이유는 아직 계정패스워드를 설정해 주지 않았기 때문입니다. 이에 대한 정보를 좀더 쉽게 보는 방법이 있는대 위에 같이 설명된 chage명령어 입니다. chage명령어는 패스워드에 옵션을 수정합니다.
[그림 2. 패스워드 입력]

[그림 3. chage명령어로 계정에 비밀번호 정보 확인]

[그림 4. chage명령어로 암호변경 최소 일수 변경]

처음에 /etc/shadow파일을 확인해 본 결과 빨간밑줄에 암호변경 최소 일수가 0임을 확인할 수 있습니다. chage명령어로 1일 이라고 지정하고 다시 확인해 보면 노란밑줄과 같이 암호변경 최소 일수가 1로 바뀌어져 있습니다.

그림 1에 하늘색밑줄은 group파일에 담긴 testAcc계정의 그룹정보 입니다. passwd파일과 마찬가지로 콜론으로 구분됩니다.
그룹명 (testAcc) : 패스워드(x) : GID(501) : 멤버1, 멤버2 ...

/etc폴더 밑에 보면 shadow파일 뿐만 아니라 gshadow파일이 또 있습니다. 이 파일은 그룹의 실질적인 패스워드가 암호화되어 저장되는 파일입니다.

조금더 세부적으로 계정을 등록해 보도록 하겠습니다.
[root@FC10VM /]# useradd -d /home/testAcc/testAccSub -u 5011 -s /bin/csh -c Tester -e 2009-04-27 -p 135792468 testAccSub
[표 3. 세부적으로 계정 등록]

[그림 5. 계정 등록 확인]

옵션 설명
-d /home/testAcc/testAccSub 홈 디렉토리를 설정합니다.
-u 5011 UID를 5011로 지정합니다.
-s /bin/csh 기본적으로 사용할 쉘종류를 지정합니다.(C쉘)
-c Tester 사용자 정보 입니다.
-e 2009-04-27 계정사용 종료일자를 지정합니다.
-p 135792468 기본 패스워드를 지정합니다.
testAccSub 새성할 계정명
[표 4. 세부적으로 계정 등록 설명]


Posted by Special Alex