Linux/실습

CentOS 8 5

JihoK 2024. 4. 17. 15:30

groupadd centosGroup

useradd -g centosGroup user1

useradd -g centosGroup user2

 

centosGroup 그룹과 

 user1과 user2를 만들면서 cenosGroup으로 지정해준다.

 

그룹은 1113 인가 보다.

/etc/shadow

!! 로 표시되는건 암호가 지정되어 있지 않다는 의미이다.

 

passwd user1 로 비밀번호를 설정하자

암호화된 비밀번호

/etc/skel 디렉터리의 모든 내용은 사용자의 홈 디렉터리에 복사하는 작업이 발생한다.

신규 사용자에게 특정 파일 배포하려면 skel 디렉터리에 넣어두면된다.

 

 

파일, 디렉터리 소유권과 허가권

 

gedit으로 test를 만들었다. touch로도 빈 파일 생성가능.
ls -l 명령어 했을때 파일 정보를 볼 수있다.

파일유형 파일 허가권 1 소유자 이름 소유 그룹이름 파일 크기 마지막 변경일 파일 이름

 

파일 유형은 d(디렉터리), c(문자 디바이스), b(블록 디바이스), l(링크) 등이 있다. 일반적인 파일 경우 - 로 표시.

파일 허가권은 rw-, r--, r-- 3개씩 끊어서 인식한다. r는 read 읽기 w는 write 쓰기, x는 execute 실행

3개씩 끊어서 각각 소유자, 그룹, 그외 사용자 other의 파일 허가권이고 rwx rwx rwx 이런식으로 보면된다.

 

chmod 명령으로 허가권을 변경할 수 있다. 

소유자 그룹 Other
r w x r w x r w x
4 2 1 4 2 1 4 2 1
7 7 7

 

4는 2진수로 100, 2는 10, 1은 1 

r만 키고싶으면 4 rw는 6 rwx는 7 wx는 3

chmod 644 test.txt  이런식의 소유권변환 명령을 줄 수있다.

 

파일 소유권은 

chown 새로운사용자이름(.새로운그룹 이름) 파일이름

 

chown centos test.txt (소유자 변경)

chown centos.centosGroup test.txt (소유자 및 소유 그룹 변경)

chgrp centosGroup test.txt  (그룹만 centosGroup그룹으로 변경하라는 명령)

 

setuid bit : chmod u+s 파일명

setgid bit : 사용자가 아닌 그룹에 대해서 적용

stiky bit  : chmod o+t 파일명

 

 

 

링크

 

inode

 

ln -s 링크대상파일이름 링크파일이름

 

linktest 디렉터리 생성 후 basefile 생성

 

basefile은 inode가 203413648 hardlink도 동일하다.

심볼릭 링크 파일 softlink는 203587478 으로 원본과 inode가 다르다.

원본 파일과 하드링크 파일은 Data 블록에 같은 원본 파일 데이터를 사용함으로 크기가 42바이트로 동일하다.

심볼릭 파일 링크 파일은 별도의 원본 파일 포인터를 갖기 때문에 8바이트로 크기가 다르다.

심볼릭 파일 링크는 원본파일을 지정한다는 의미로 화살표가 표시되어있다.

원본파일을 다른곳으로 이동시켜서 확인하자

심볼릭 링크는 디렉터리에서 원본 파일이 없어지면 연결이 끊어진다.

다시 원상태로 되돌리면 링크가 복구된다.

 

 

 

편리한 패키지를 설치하는 DNF

 

 

dnf -y install 패키지이름

dnf -y install mc-4.8.19-9.el8.x86_64.rpm

 

dnf check-update

 

dnf update 패키지이름

 

dnf remove 패키지이름

 

dnf info 패키지이름

 

dnf groupinstall "패키지 그룹 이름"

 

dnf list 패키지이름

 

dnf provides 파일이름

 

dnf clean all

 

/etc/yum.repos.d/This.repo 파일의 repo는 Repository (저장소)의 약자

 

repo 파일을 뜯어보면

 

# 은 주석

name은 저장소의 이름

baseurl은 http, ftp, file 3가지중 하나의 url

gpgcheck은 패키지의 GPG 서명 확인 여부, 1 사용 0 사용 안함 (GPG 서명은 Gnu Privacy Guard라고 부르며 rpm 패키지를 인증할 때 암호화된 서명을 사용하는 방법)

gpgkey는 gpgcheck가 1일일 경우 아스키 gpg가 들어 있는 저장소의 url이 적혀 있으면 된다.

 

mirrorlist는 baseurl 설정 값이 생략되어 있으면 그 대신 mirrorlist에 적힌 url이 사용됨 ( 전 세계에 분포된 여러개의 저장소가 연결되어있다.)

enabled는 저장소 소유 여부

 

 

 

 

 

DNF의 고급 기능 실습

 

# 이방식은 네트워크가 느린 곳에서 상당히 효과적이다. 네트워크가 아닌 DVD 에서 직접 패키지를 다운로드 하기 때문.

 

CentOS 8 DVD ISO 파일을 마운드 한다. (ESXi HOST에서 VM 편집)

Root 사용자로 접속한다. 

 

unmount /dev/cdrom

mkdir /media/cdrom

mount /dev/cdrom /media/cdrom

 

기존에 만들었던 this.repo 를 backup에 옮겨주고

dvd.repo를 만들자.

 

gedit dvd.repo

 

 

네트워크가 안되는 상황을 만들기 위해 

ifdown ens192 명령을 입력

 

 

dnf -y install mariadb 라는 데이터 베이스 패키지를 설치해 보자.

 

dnf -y install help2man 을 입력해보자 

help2man은 CentOS 8의 PowerTool 저장소에서 제공하지만 DVD에는 들어 있지 않기때문에 다운로드를 할 수 없다.

 

 

ipup ens192를 입력합시다.

다시 gedit dvd.repo

 

DVD와 네트워크 모드에서 dnf 설치

dnf clean all 명령으로 기존 다운로드 정보를 지우자.

다시 dnf install mc help2man 을 입력하고 mc 및 help2man 두 패키지를 설치하자.