개발 블로그

[Linux] 사용자 및 그룹 관리 본문

시스템/Linux

[Linux] 사용자 및 그룹 관리

갹둥 2024. 8. 22. 00:12

 

 분명 운영체제 시프 과목에서 1등도 했었고 많이 까먹었지만 꽤 기초는 잘 안다고 생각했는데,

음...실무에서 제 리눅스 지식은 0.1%에 불과했다는 느낌을 받았습니다...

어쩌겠나요...스스로 부족함을 느끼면 공부를 해야겠죠

 

 시간이 날 때 '이것이 우분투 리눅스'다 라는 책도 간간히 읽고 있습니다.

공부하면서 원래 알던 내용도 있고 몰랐던 내용도 있지만....기록하면 안하는 것 보다는 좋으니깐(?)

블로그 중독자인 저는  매일 공부한 부분을 기록해보려고 합니다

 

사용자 관리

  • adduser(useradd): 새로운 사용자 추가
    • adduser를 하면 아래 파일들에 새로운 행이 추가됨 (*사용자 관련 파일들)
      • /etc/passwd: 사용자 계정의 기본 정보를 저장
      • /etc/shadow: 사용자 암호와 암호 관련 보안 설정을 저장
      • /etc/group: 그룹 정보와 해당 그룹에 속한 사용자 목록을 저장
    • 이 파일을 보면 유저가 잘 생성되었는지 확인 가능
    • 참고로 adduser시 그룹을 지정하지 않으면 user name과 동일한 그룹이 자동으로 생성된다
adduser newuser
adduser -u 1234 gaeun # gaeun이라는 user를 생성하면서 userId를 1234로 지정

tail /etc/passwd # /etc/passwd 파일에 gaeun이 추가되었는지 확인(tail 줄 지정 안하면 마지막 10 줄)

 

 

  • passwd: 사용자의 비밀번호 지정 및 변경
  • usermod: 사용자의 속성 변경
  • userdel: 사용자 삭제
  • change: 사용자의 암호를 주기적으로 변경하도록 설정
    • -l:: 사용자에 설정된 사항을 확인
    • -m [숫자]: 설정한 암호를 사용해야 할 최소 일자
    • -M [숫자]: 설정한 암호를 사용해야 할 최대 일자
    • -E [YYYY/MM/DD]: 설정한 암호가 만료되는 날짜
    • -W [숫자]: 설정한 암호가 만료되기 전 사용자에게 경고하는 기간
passwd gaeun gagle1231
usermod -g root gaeun # gaeun의 group을 root로 변경
usermod -aG docker gaeun # gaeun을 docker라는 그룹에 추가

change -M 10 gaeun # gaeun은 설정한 암호를 최대 10일까지 사용 가능
change -W 2 gaeun # gaeun에게 암호 만료 2일 전부터 경고가 메세지가 나감

groups gaeun # gaeun이 소속된 groups를 보여줌

 

 

 

 

그룹 관리

  • groupadd: 새로운 그룹 생성
groupadd newgroup # newgroup이라는 group 생성
groupadd -g 1111 dev # dev라는 group을 생성하면서, groupId를 1111로 지정
  • groups: 사용자가 소속된 그룹을 보여줌, user 지정 안하면 현재 로그인한 사용자의 그룹
  • groupmod: 그룹의 속성 변경
  • gpasswd: 그룹의 암호 설정 및 그룹 관리 수행
    • -A: 그룹 관리자 지정
    • -a: 그룹 사용자 추가
    • -d: 그룹 사용자 제거
  • groupdel: 그룹 삭제
groups # 현재 로그인한 사용자의 그룹 리스트를 보여줌
groupmod -n develop dev # dev의 이름을 develop으로 변경

gpasswd develop # 그룹의 암호 설정
gpasswd -A gaeun develop # develop group의 관리자를 gaeun으로 지정

groupdel develop

 

 

주요 시스템 디렉토리

  1. /etc/passwd
  • 사용자 계정 정보 저장
  • 주요 내용
    • 사용자 이름
    • 사용자 ID
    • 그룹 ID
    • 사용자 정보
    • 홈 디렉토리
    • 기본 셸
username:1001:1001:User Name,,,:/home/username:/bin/bash

 

 

2. /etc/shadow

  • 사용자 암호와 관련된 정보를 저장
  • 주요 내용
    • 사용자 이름
    • 암호 해시
    • 마지막 암호 변경 날짜
    • 최소 암호 연령
    • 최대 암호 연령
    • 암호 비활성 기간
    • 계정 만료일
username:$6$Tq9qU3HG$7x7SsyPf5J5rO/mE8d9e7RzYDpSOexJ5kKqRcl9JK6zAwhScWl.D6.S1cgMbWaKDFwpEfaUlXskwEtnx5yJ4N/:18000:0:99999:7:::

 

 

3. /etc/group

  • 시스템 그룹 정보와 그룹에 속한 사용자 목록 저장
  • 주요 내용
    • 그룹 이름
    • 그룹 ID
    • 그룹에 속한 사용자 목록
groupname:x:root,user1

 

 

4. /etc/gshadow

  • 그룹 암호와 관련된 저보가 저장된 파일
  • 주요 내용
    • 그룹 이름
    • 그룹 암호
    • 그룹 관리자
    • 그룹에 속한 사용자 목록
groupname:!:root,user1

 

 

5. /etc/skel

  • 새로운 사용자 계정을 생성할 때 기본적으로 복사되는 파일과 디렉토리의 템플릿 저장
  • 주요 내용
    • 기본 파일
    • 디렉토리

'시스템 > Linux' 카테고리의 다른 글

[Linux] 파일 검색 및 조작 명령어  (0) 2024.08.27