[쿠버네티스 3주차 1/5] 리눅스 - 소프트웨어 패키지 & 사용자 지정 설정

신현식·2023년 1월 5일
0

구름_Linux

목록 보기
11/22
post-thumbnail

RPM 패키지

RPM(Redhat Pakage Manager)는 레드햇에서 만든 패키지 관리도구이다. 바이너리 파일로 구성되어 있어 컴파일이 필요없고 한번에 설치된 패키지의 파일을 일괄적으로 삭제할 수 있다. 또한 기존에 설치 된 패키지를 삭제하지 않고 업데이트 가능하다.
RPM의 단점은 패키지 의존성에 따라 관련 패키지가 먼저 설치되어 있지 않으면 설치할 수 없다는 점이다. 이를 해결한 것이 YUM 이다.rpm파일을 Desktop으로 가져온 후 해당 파일이 있는 위치를 찾아본 것이다.

rpm

RPM 패키지 업그레이드 하여 설치: -Uvh

패키지 정보 검색

  • rpm -ivh rpm파일명: rpm 패키지 설치
  • rpm -Uvh rpm파일명: rpm패키지 업그레이드하여 설치하기, 이 명령을 더 많이 사용!
  • rpm -q 패키지명: 해당 패키지 설치여부 확인

YUM(dnf)

YUM 저장소는 패키지들을 저장해놓은 하나의 서버를 의미한다.
dandified yum의 약자로 RPM기반의 리눅스 패키지 관리자로 기존의 패키지 관리자인 yum을 대체한 것이다. 패키지의 의존성을 자동으로 해결하여 설치, 업그레이드, 삭제를 할 수 있고 설치 가능한 패키지에 대한 정보가 담긴 저장소 repository를 가지고 있다. '.repo 파일' 안에 repository의 실제 정보가 들어있다.

  • 리포파일은 /etc/yum.repos.d 디렉터리에 저장되어 있어야 하며 파일 이름은 반드시 .repo라는 확장자를 사용해야 한다.

💡 yum 명령어

yum repolist : 현재 설정된 리포지토리 리스트 정보보기
yum list : 현재 연결된 모든 YUM 저장소의 패키지 목록을 출력
yum list installed : 이미 설치된 리스트 보기
yum list updates : 현재 등록된 저장소에서 설치,업데이트 가능한 목록 보기
yum info 패키지 : 패키지에 대한 정보보기
yum deplist 패키지 : 패키지 의존성확인
yum check-update : 현 시스템에 설치된 패키지 중에서 업데이트 가능 목록을 보여줌

  • 새로운 패키지 설치 (의존성이 필요한 경우 의존성 패키지도 자동 설치)

    yum [-y] install 패키지명 : -y옵션은 설치과정 중에 발생하는 모든 질문에 y로 응답함, 선택사항

yum install mc
yum [-y] update -> 모든 패키지 업데이트
yum update 패키지명 -> 해당 패키지 업데이트
yum localinstall [rpm파일명]: rpm 같은거 설치할때
-> yum install [rpm파일명]

  • yum 패키지 제거

    yum [-y] remove 패키지명

yum groups list -> 패키지 리스트 확인
Security Tools 패키지 정보 확인
yum groups info 'Security Tools'
Security Tools 그룹 패키지 설치
yum groups install 'Security Tools'
Security Tools 그룹 패키지 삭제
yum groups remove 'Security Tools'

  • yum 패키지 로그 관리

    cat /var/log/yum.log : 로그파일 참고
    yum history : yum관련된 로그정보를 확인
    yum clean all -> 리포지토리 초기화, 기존 yum 캐시를 지우는 명령어로 yum이 고장나면 사용

사용자 및 그룹관리

사용자 관리: 리눅스는 다중 사용자 시스템이므로 사용자를 구별하고 사용자에게 적절한 자원을 할당해주는 방법이 필요하다. 사용자 계정이 사용자가 시스템에 접근할 수 있는 유일한 방법이고 시스템 관리자 입장에서도 사용자의 접근 권한을 통제할 수 있는 중요한 수단이다.

/etc/passwd 파일

사용자의 계정정보가 저장된 기본 파일이다.1: 사용자 계정이름
2: 사용자 암호저장, 요즘은 /etc/shadow 파일에 별도로 보관됨
3: 사용자 ID번호로 시스템이 사용자를 구별하기위해 사용, 루트는 0, 일반 사용자들은 1000번부터 할당
6: 사용자 계정에 할당된 홈 디렉터리의 절대경로
7: 사용자의 로그인 셸을 지정, /bin/bash로 설정된 것들만 로그인 가능하다.

/etc/shadow 파일

패스워드를 해쉬패드워드 형태로 저장한 파일이다.
3: 암호가 마지막으로 변경된 날짜를 지정
4: 암호를 변경한 후 사용해야하는 최소 기간
5: 암호를 사용할 수 있는 최대사용기간, 해당 기간이 지나기 전에 패스워드를 변경해야한다.
6: 만료일이 되기 전 사용자에게 경고 메세지를 출력할지 설정, MAX=90, WARING=5이면 패스워드 사용 85일되는 날부터 경고메세지가 출력됨
7: 패스워드가 만료되고 여기에 지정된 숫자안에 패스워드를 변경하지 않으면 사용자 계정이 잠금상태로 변경됨
8: 사용자 계정의 만료일을 지정함
9: 향후 사용할 목적으로 비워둔 항목

  • 사용자에 대한 접근을 제한해야 하기때문에 권한이 000임으로 확인할 수 있다. 다만 root계정은 관리자이기에 접근이 가능하다.
  • /etc/login.defs 파일에서 사용자 계정의 설정과 관련된 기본값을 정의하고 있다.umask는 홈 디렉터리 생성에 관계된 값을 설정한다. 이때 사용자의 홈 디렉터리 권한은 700으로 생성되며 함께 생성된 사용자를 제외하고는 접근 할 수 없다.

/etc/group 파일

그룹에 대한 정보가 저장되어있다. /etc/passwd 파일의 GID항목에 지정된 그룹이 기본 그룹이며 사용자가 속한 2차 그룹은 /etc/group 파일에 지정되어있다.

사용자 계정 생성하기

useradd

  • useradd -D: 기본 설정값을 확인( /etc/default/useradd를 읽어도 같은 정보가 들어있다. )

    useradd -D의 옵션 : 이 명령으로 수정하는 것이 바람직함

    -b 디렉터리(/home/dest): 홈디렉터리 지정
    -e 만기일(2025-02-02): 계정 만료 날짜
    -f 기간(10): inactive 필드값 지정
    -s 쉘(/bin/bash): 로그인쉘 지정
    ex) useradd -D -e 0

  • SKEL은 홈 디렉터리에 복사할 기본 환경파일의 위치이다. 사용자 계정의 홈 디렉터리에 공통으로 배포해야 할 파일을 /etc/skel 디렉터리에 파일을 만들어 놓으면 사용자 계정 생성 시에 자동으로 복사되는 것을 볼 수 있다.

useradd 옵션

-u uid : uid지정
-g gid : 주그룹 지정
-G gid : 보조그룹 지정
-c 주석 : 주석지정
-d 디렉터리 : 만들 계정의 홈디렉터리 지정 useradd -d /home/abcd1 abcd
-m : 디렉터리가 존재하지 않으면 만들라는 옵션 -md
-s : 기본 쉘 지정
-e 만기일(2025-02-02) : EXPIRE 필드인 계정만료일 지정
-f 기간(100) : inactive 필드값 지정

ex) 로그인쉘: 본쉘(/bin/sh ), uid: 2000, gid: 1100, 2차그룹: 3인 유저계정 abcd 만들기

-> useradd -u 2000 -g 1100 -G 3 -s /bin/sh abcd

ex) 계정만료: 2025-12-31 inactive값: 5, 주석: abcd test, 홈디렉터리: /home/abcdtest 인 유저계정 abcd2를 만들시오

-> useradd -md /home/abcdtest -e 2025-12-31 -f 5 -c 'abcd test' abcd2

ex) 사용자이름: user03, uid: 2000, 기본그룹: 10, 홈디렉터리: /home/user3, 기본쉘: /bin/sh 인 계정 만들기

-> useradd -u2000 -g 10 -md /home/user3 -s /bin/sh user03

사용자 계정 삭제하기

userdel

  • 사용자 계정을 삭제한다

  • -r : 홈 디렉터리를 삭제한다

  • -f : 사용자가 로그인 중이여도 강제로 삭제한다.

  • find / -user [uid] -exec rm -r {} \; 이 명령어를 사용해 홈 디렉터리가 아닌 다른곳에 위치한 사용자 계정 소유의 파일을 검색하여 삭제하는 것이 바람직하다.

profile
전공 소개

0개의 댓글