강좌
클라우드/리눅스에 관한 강좌입니다.
자격증 분류

리눅스마스터1급 : 사용자계정 설정파일 /etc/shadow파일과 /etc/group 파일

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

리눅스마스터1: 사용자계정 설정파일 /etc/shadow과 /etc/group 파일

 

 

/etc/shadow 파일

 

 

passwd의 보안 문제를 해결하기 위해 나온 것이 shadow이다.

 

 

 

/etc/passwd 파일은 기본적으로 사용자의 패스워드가 드러나게 되어 있다.

 

 

 

이것이 해커들에게 힌트를 줄 수도 있으므로 좀 더 보안성을 높이기 위해 shadow 패스워드를 사용한다.

 

 

 

, /etc/shadow 파일은 루트 사용자만이 읽기 권한을 가지고 있으므로 좀 더 안전하다.

 

 

 

 

 

 

 

 

 

[root@linux /etc]# ls -l passwd shadow

-rw-r--r-- 1 root root 754 Feb 18 00:40 passwd

-r-------- 1 root root 671 Feb 18 00:40 shadow

 

 

 

 

 

 

shadow 패스워드는 /etc/passwd 파일이 모든 사용자가 읽기 권한을 가지는 점을 보완하기 위해 만들어진 것으로, 사용자의 패스워드는 shadow 파일에 넣어 두고 /etc/passwd 에서는 패스워드를 x로만 표현하도록 한다.

 

 

 

 

 

 

 

 

root:$1$Yc5a51p2uQxRPH8AEnQmc1:15830:0:99999:7:::

bin:*:15830:0:99999:7:::

daemon:*:15830:0:99999:7:::

adm:*:15830:0:99999:7:::

lp:*:15830:0:99999:7:::

sync:*:15830:0:99999:7:::

shutdown:*:15830:0:99999:7:::

halt:*:15830:0:99999:7:::

mail:*:15830:0:99999:7:::

...중략...

distcache:!!:15830:0:99999:7:::

named:!!:15830:0:99999:7:::

mysql:!!:15831:0:99999:7:::

sulinuxer:$1$Zdwt1AOQ$tDVKMlyuWrA.:16018:0:99999:7:::

 

 

 

 

 

 

다음은 /etc/shadow 파일에서 sulinuxer라는 사용자의 정보를 확인한 것이다.

 

 

 

이것도 passwd 파일과 마찬가지로 콜론(:)으로 구분한 9개의 항목으로 구성되어 있다.

 

 

 

 

 

sulinuxer:$1$Zdwt1AOQ$tDVKMlyuWrA.:16018:0:99999:7:::

❶ ❷ ❸ ❹ ❺ ❻ ❼❽❾

 

 

사용자의 사용자명(username) : passwd 파일의 사용자명과 같다.

 

 

 

 

 

사용자의 암호화된 패스워드 : 암호화된 것으로 실제 암호는 기재된 것과 다르다.

 

 

 

 

 

최종 패스워드 변경일 : 마지막으로 패스워드를 변경했던 날짜를 의미하는 것으로, 197011일 이후부터의 일자수로 계산하여 기술된다.

 

 

 

 

 

패스워드 변경 최소일수 : 패스워드를 한 번 변경하고 나면 최소 며칠 이후에 다시 설정할 수 있는가를 설정하는 것으로 0이면 아무 때나 다시 재설정할 수 있다는 것을 의미한다.

 

 

 

 

 

패스워드 변경 유예기간 : 설정한 패스워드가 며칠까지 유효한지를 결정하는 것이다.

 

 

10으로 설정하면 10일간 유효한 것인데, 여기에서 99999로 설정한 것의 사실상 유효기간을 설정하지 않은 것과 같은 의미이다.

 

 

 

 

 

패스워드 변경 경고일 수 : 설정된 숫자(여기서는 7)의 날만큼 패스워드가 만료되기 전부터 로그인 시에 안내 메시지를 출력한다.

 

 

 

 

 

패스워드 비활성화 기간 : 패스워드가 유효기간 종료 이후에 계정 비활성화될 날짜 수를 의미한다.

 

 

 

여기서는 설정되어 있지 않다.

 

 

 

 

 

계정 사용 종료일 : 계정 자체의 종료일자를 설정한 것이다.

 

 

 

, 패스워드의 종료일과는 구분해야 한다.

 

 

 

여기서는 설정되어 있지 않다.

 

 

 

 

 

예약 필드

 

 

그런데 이들 정보들 중에서 각 계정 사용자들의 최종 패스워드 변경일, 패스워드 변경 최소일수, 패스워드 변경 유예기간, 패스워드 변경 경고일 수, 패스워드 비활성화 기간, 계정 사용 종료일 등을 aging 정보(aging information)라고 한다.

 

 

 

 

 

 

/etc/group 파일

 

 

group의 설정 파일은 /etc/group 이다.

 

 

 

관리자가 특정 그룹을 지정하지 않고 사용자를 생성하면 사용자명과 동일한 그룹이 생성되어 이 파일에 기록된다.

 

 

 

만약 관리자가 사용자를 기존에 생성된 그룹에 포함시키면 이 파일에 해당 내용만 업데이트되어 기록된다.

 

 

 

그리고 관리자는 groupadd <group-name>을 실행하여 새로운 그룹을 생성할 수 있는데, 생성된 그룹은 /etc/group 파일에 저장된다.

 

 

 

 

[/etc/group 파일 예제]

 

 

 

 

 

root:x:0:root

bin:x:1:root,bin,daemon

daemon:x:2:root,bin,daemon

sys:x:3:root,bin,adm

adm:x:4:root,adm,daemon

tty:x:5:

disk:x:6:root

lp:x:7:daemon,lp

mem:x:8:

kmem:x:9:

wheel:x:10:root

mail:x:12:mail

...중략...

distcache:x:94:

ccache:x:101:

named:x:25:

mysql:x:27:

sulinuxer:x:500:

 

 

 

 

 

 

 

위 예제를 보면 sulinuxer라는 그룹이 생성된 것을 알 수 있다.

 

 

 

이것은 sulinuxer라는 사용자를 생성하면서 별도로 그룹을 지정하지 않았기 때문에 생성된 것이다.

 

 

 

이러한 그룹에 관한 정보도 콜론(:)으로 4 부분으로 구분되어 있는데, 그 의미는 다음과 같다.

 

 

 

 

 

sulinuxer:x:500:

❸ ❹

 

 

 

그룹명 : 그룹의 이름이다.

 

 

 

 

 

그룹 패스워드 : 그룹을 위한 패스워드 필드로서 보통은 사용하지 않는다.

 

 

 

 

그룹의 GID : 그룹 생성시에 500부터 차례로 그룹의 GID가 부여된다.

 

 

 

만약 r 옵션을 붙이면 499번 이하의 역순으로 할당되지 않은 번호를 부여하게 된다.

 

 

 

 

 

사용자들 : 그룹에 속한 사용자를 기술한다.

 

 

 

사용자들은 쉼표(,)로 구분한다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,134 명
  • 현재 강좌수 :  36,188 개
  • 현재 접속자 :  395 명