Operation/Linux

리눅스, 사용자 정보 확인

단님 2025. 2. 4. 01:19
728x90

 

/etc

각종 설정파일들의 디렉토리로 시스템 전반의 설정파일과 구성파일을 저장하는 곳.

사용자 정보 확인

 

cat /etc/passwd 사용자 계정 확인
cat /etc/shadow 사용자 암호
cat /etc/group 사용자 그룹 확인

 

/etc/passwd

  1. 사용자 명
  2. 패스워드
  3. 계정 UID
  4. 계정 GUI - 계정 그룹 id
  5. 이름
  6. home 디렉토리
  7. 로그인 쉘

많은 계정 유형들이 이미 존재한다.

웹서비스 같은경우 www-data(5.이름)라는 권한으로 실행되고 , 이렇게 특정 프로세스를 사용하기 위해서는 사용하는 계정 권한을 서비스 어카운트라는 이름으로 부른다.

root account로만 사용했던 부분들을  service account 라는 개념을 이해해야 한다.

클라우드 서비스는 상당히 많은 다양한 service account 가 존재하고 있다. 그것과 같은 개념이라고 볼 수 있다.

service account 는 프로세스가 실행될 때 그 권한이 필요한 것이지 사용자가 괜히 로그인한다던가 그럴 필요는 없다.

보는 바와 같이 로그인 쉘이 이렇게 nologin이라는 바이너리로 연결되어 혹시라도 실수하여 로그인되는 것을 방지할 수 있다.

사용자아이디의 숫자값은 정의가 되어있다.

root  0 슈퍼 유저
predefined 1~99 고전적으로 사용되었던 (예전부터 이용되었던 ) service account를 표현
administrative and system accounts 100~999 내가 필요로 의해 정의할 수 있는 사용자 계정
user  1000~ 일반 사용자에게 부여되는 숫자

과거에 이 파일에서 패스워드를 모두 포함하고 있었기 때문에 파일의 이름이 passwd라고 정의되어있다.

물론 그당시에도 사용자의 패스워드는 암호화가 되어있기 떄문에 공개되어도 문제가 없었다.

이제는 컴퓨팅 파워가 좋아졌고 , 일방향 암호화가 되어있더라도 해시값을 크랙 할 수 있게 되었다 .

해커들이 이 파일을 쉽게 접근하여 탈취가 가능하게 되고 보안문제가 발생하게 되어 , passwd의 패스워드를 shadow 라는 파일을 만들어 암호화하게 되었다.

그래서 더이상 passwd 파일에서  암호를 볼 수 없게 되었다.

고전적으로 계속 사용해왔던 passwd 파일이기 때문에 아직까지 그 이름을 바꾸지 않고 호환성을 위해 이름이 유지되고 있다.

 

/etc/shadow

사용자명 : 패스워드 : 최종 수정일 : 패스워드 수정일(0) : 패스워드 최대 사용일(99999) : 패스워드 만료 경고기간(7) : 패스워드 유예기간 : 계정 만료기간 : 예약필드 순

리눅스(유닉스)의 모든 시간 epoch = 1970년1월1일 00:00:00 UTC → 과거엔 공간이라는 것이 최대 이슈 였고 , 날짜를 같이 정하게 되었다.

18777 :  1970.1.1 을 기준으로 흘러온 날짜의 수를 의미, 패스워드는 일방향 암호화가 되어있는 해시값이다.

사용자의 비밀번호에는 $ 표시로 시작하는 모습을 볼 수있는데 , 이 암호파일이 알고리즘을 어떤것을 사용했는지 알 수 있다.웹서비스는 service account 로 로그인을 하지 않는 계정이기 때문에 패스워드가 따로 있지 않는다.

 

/etc/group

그룹 이름 : 비밀번호 : 그룹 아이디 : 그룹에 속한 사용자

그룹에 어느 사용자가 속해있고 어떠한 그룹들이 있는지 조회할 수 있는 명령어가 된다.

그룹의 의미는 다음에 그룹 생성 및 삭제를 다루면서 조금 더 자세히 다뤄보겠다.

'Operation > Linux' 카테고리의 다른 글

리눅스 , 권한 대여  (0) 2025.02.04
리눅스 , 다중 사용자의 개념과 권한  (0) 2025.02.03
리눅스 운영체제(operation system)와 커널(kennel)  (0) 2025.02.02
Linux 란 ?  (0) 2025.02.01