"manager1" 사용자가 패스워드 없이 모든 sudo 명령을 실행할 수 있도록 "/etc/sudoers.d/managers" 파일을 생성하여 설정하세요.
# "/etc/sudoers.d/managers" 파일을 생성하여 설정
**$ sudo vi /etc/sudoers.d/managers**
manager1 ALL=(ALL) NOPASSWD
# 권한 설정 필수!!
**$ sudo chmod 440 /etc/sudoers.d/managers**
# sudo -u manager1 로 manager1 유저로 들어가서 sudo whoami 명령 사용
# sudo 로 root 권한을 빌려썼으므로 root 가 나옴
**$ sudo -u manager1 sudo whoami**
root
**$ sudo -u manager1 whoami**
manager1
현재 시스템에 생성된 모든 사용자 중 UID가 1000 이상인 사용자들의 정보를 확인하는 명령어를 실행하세요.
# -F: == : 를 구분자로 사용하겠다
# : 로 구분한 세번째 필드가 1000보다 크면 출력
**$ awk -F: '$3 >= 1000' /etc/passwd**
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
vagrant:x:1000:1000::/home/vagrant:/bin/bash
manager1:x:1001:1001::/home/managers/manager1:/bin/bash
manager2:x:1002:1001::/home/managers/manager2:/bin/bash
developser:x:1003:1001::/home/developser:/bin/bash
guest123:x:1004:1004::/home/guest123:/sbin/nologin
student_a:x:1005:1005::/home/student_a:/bin/bash
student_b:x:1006:1005::/home/student_b:/bin/bash
student_c:x:1007:1005::/home/student_c:/bin/bash
intern:x:1008:1005::/home/intern:/bin/bash
testuser:x:1009:1009::/home/testuser:/bin/bash
# 그중에서 첫번째 필드만 출력
**$ awk -F: '$3 >= 1000 {print $1}' /etc/passwd**
nobody
vagrant
manager1
manager2
developser
guest123
student_a
student_b
student_c
intern
testuser
방화벽
: 내부의 트래픽을 모니터링하고 사전에 정의된 보안 규칙에 따라 특정 트래픽을 허용하거나 차단하는 시스템
: 외부의 네트워크에서 내부의 시스템으로 접근하는 네트워크 패킷을 차단하는 서비스
→ 필요한 포트만 열어둠
방화벽이 없다면?
: 오랫동안 리눅스의 방화벽 시스템으로 이용됨
: 실질적으로 네트워크 패킷을 필터링하는 것은 Netfilter
: systemd 와 함께 도입된 방화벽 서비스
: iptables 의 한계와 단점을 보완하는 방화벽 서비스
: 시스템이 운영 중인 상태일 때 서비스 재시작을 하지 않아도 적용되는 설정
: 이 설정은 파일에 저장되지 않으므로 시스템이 재부팅되거나 firewalld.service가 재시작되면 삭제됨
: 방화벽 규칙을 설정 파일에 저장하여 시스템이 부팅되거나 혹은 서비스가 재시작되어도 방화벽 규칙을 유지시켜주는 설정
: 영구설정을 변경한 후 변경된 내용을 실행중인 환경에 적용하기 위해서는 서비스가 다시 읽어지거나(reload) 또는 재시작(restart) 되어야 실제 규칙에 반영됨
: 네트워크 연결에 대한 신뢰도를 정의한 것
: 패킷을 카테고리처럼 분류해서 처리하는 메커니즘
/etc/firewalld/servicespublic.xml 만 존재 → 따라서 처음에는 public 영역만 활성화된 영역동작 원리
# **firewalld.service** 의 상태 확인
**$ sudo systemctl status firewalld.service**
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; pr>
Active: active (running) since Mon 2025-09-01 01:45:47 UTC; 42min ago
Docs: man:firewalld(1)
Main PID: 599 (firewalld)
Tasks: 2 (limit: 5769)
Memory: 44.6M
CPU: 1.266s
CGroup: /system.slice/firewalld.service
└─599 /usr/bin/python3 -s /usr/sbin/firewalld --nofork --nopid
Sep 01 01:45:46 client systemd[1]: Starting firewalld - dynamic firewall da>
Sep 01 01:45:47 client systemd[1]: Started firewalld - dynamic firewall dae>
lines 1-13/13 (END)
# firewall-cmd 의 실행 상태 확인(돌아가고 있는지)
**$ sudo firewall-cmd --state**
running
# 활성화된 영역 확인
**$ sudo firewall-cmd --get-active-zones**
public
interfaces: enp0s3 enp0s8
# 기본 영역(default zone) 확인
**$ firewall-cmd --get-default-zone**
public
# 기본 영역에 설정된 규칙 확인
**$ sudo firewall-cmd --list-all --zone=public**
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
# 기본영역 규칙에 http 서비스 규칙 추가
**$ sudo firewall-cmd --zone=public --add-service=http**
success
# 기본 영역 규칙에 http 서비스 추가됐음을 확인 가능
**$ sudo firewall-cmd --list-all --zone=public**
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: cockpit dhcpv6-client http ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
# 기본 영역에 http 서비스 규칙 추가를 영구적으로 설정
**$ sudo firewall-cmd --zone=public --add-service=http --permanent**
success
# 영구설정 적용을 위해 리로드
**$ sudo firewall-cmd --reload**
success
# https 를 기본영역 규칙에 추가
**$ sudo firewall-cmd --add-service=https**
success
**$ sudo firewall-cmd --list-all --zone=public**
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: cockpit dhcpv6-client http https ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
# 기본 영역 규칙에서 http 서비스 삭제
**$ sudo firewall-cmd --remove-service=http**
success
# 삭제됐음을 확인 가능
**$ sudo firewall-cmd --list-all --zone=public**
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: cockpit dhcpv6-client https ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
# 그러나 아까 추가할 때 영구설정으로 추가했으므로 리로드하면
**$ sudo firewall-cmd --reload**
success
# 다시 추가돼있는 걸 확인 가능
**$ sudo firewall-cmd --list-all --zone=public**
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: cockpit dhcpv6-client http ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
# 그러므로 제거도 영구설정하면 됨
**$ sudo firewall-cmd --remove-service=http --permanent**
success
**$ sudo firewall-cmd --reload**
success
**$ sudo firewall-cmd --list-all --zone=public**
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: cockpit dhcpv6-client ssh
ports:
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
# 포트 추가
**$ sudo firewall-cmd --add-port=443/tcp**
success
# 포트 규칙 추가됐음을 확인
**$ sudo firewall-cmd --list-ports**
443/tcp
# 영구설정으로 포트 추가
**$ sudo firewall-cmd --add-port=443/tcp --permanent**
success
# 영구설정 변경사항 적용을 위해 리로드
**$ sudo firewall-cmd --reload**
success
# 기본 영역에 포트 규칙 추가됐음을 확인 가능
**$ sudo firewall-cmd --list-all --zone=public**
public (active)
target: default
icmp-block-inversion: no
interfaces: enp0s3 enp0s8
sources:
services: cockpit dhcpv6-client ssh
**ports: 443/tcp**
protocols:
forward: yes
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
# httpd 패키지 설치
**$ sudo dnf install httpd -y**
# 서비스 시작
**$ sudo systemctl start httpd**
**$ sudo vi /var/www/html/index.html
#** <h1>방화벽 테스트</h1>
# Apache 웹 서버가 돌고 있기 때문에 응답 돌아옴
**$ curl localhost**
<h1>방화벽 테스트</h1>
# stop 하면 fail
**$ sudo systemctl stop httpd**
**$ curl localhost**
curl: (7) Failed to connect to localhost port 80: Connection refused
**$ ip a
...**
inet **192.168.56.77/24** brd 192.168.56.255 scope global noprefixroute enp0s8
...

**$ sudo firewall-cmd --list-services**
cockpit dhcpv6-client ssh
**$ sudo firewall-cmd --list-ports**
443/tcp
**$ sudo firewall-cmd --add-service=http**
success
**$ sudo firewall-cmd --list-services**
cockpit dhcpv6-client **http** ssh

→ 기본 영역에 http 서비스 규칙을 추가함으로써 해당 영역(현재 네트워크 인터페이스 enp0s3)에서 내부로의 진입 허용
유니캐스트
: 네트워크에서 가장 일반적으로 사용되는 방식
: 서버와 클라이언트 간의 일대일(1:1) 통신방식을 말한다
멀티캐스트
: 그룹 내의 여러 수신자에게 동시에 데이터를 전송하는 방식
브로드캐스트
: LAN 네트워크 상이 모든 수신자에게 데이터를 전송하는 방식
: 서버와 클라이언트 간의 일대 모두 통신방식
FF:FF:FF:FF:FF:FF 로 미리 정해져 있다프로토콜
: 컴퓨터 및 네트워크 간에 통신하기 위해 정의된 규칙과 규약의 집합
: 데이터 전송, 통신의 규칙, 에러 처리, 보안 등의 다양한 측면을 다루며, 컴퓨터 네트워크, 웹 통신, 인터넷 프로토콜, 응용 프로그램 간 통신 등의 환경에서 사용됨
OSI 7 계층
아래 3계층은 신뢰성 보장 x?
TCP/IP 모델
→ osi 7계층은 개념적인 느낌이고, 실제로 많이 쓰이는 건 이거
캡슐화(Encapsulation)
: 데이터의 앞부분에 전송하는 데 필요한 정보를 붙여서 다음 계층으로 보내는 과정
역캡슐화
: 데이터를 받는 과정에서 헤더를 하나씩 제거하는 과정
NIC(네트워크 인터페이스 카드)
== LAN 카드
: 네트워크와 컴퓨터 사이의 물리적 연결을 담당하는 장치로, 네트워크에서 데이터를 전송하고 수신하는 역할을 수행한다
허브
: 여러 컴퓨터 또는 네트워크 장치를 연결하여 네트워크를 형성하는데 사용됨
: 데이터를 받으면 그 데이터를 모든 연결된 장치로 브로드캐스트하여 전송
: 수신한 신호를 모든 포트로 그대로 송출해 네트워크에 연결된 모든 단말이 동시에 경쟁하게 만들기 때문에, 전체 네트워크 성능을 저하시킨다. 이로 인해 현재는 거의 사용되지 않는다
허브 vs. 스위치
스위치는 허브와 달리 데이터 충돌이 발생하지 않음
이는 스위치가 각 포트를 독립적인 충돌 도메인으로 관리하며, 한 번에 여러 통신을 동시에 처리할 수 있기 때문이다
스위치는 모두에게 보내지 않음. 누가 누군지 알고 있음.
MAC 주소 테이블
: 스위치는 연결된 장치들의 MAC 주소를 MAC 주소 테이블에 저장한다
: 이 테이블은 스위치가 프레임을 더 빠르고 효율적으로 전달할 수 있게 돕는다
: 메모리에 저장됨(휘발성)
플러딩(Flooding)
스위치는 처음 부팅할 때 네트워크 관련 정보가 없다. 이 상태에서 패킷이 들어오면 스위치는 허브와 같이 모든 포트로 패킷을 전송한다
→ 이를 플러딩이라고 한다
어드레스 러닝(Address Learning)
: 패킷이 특정 포트에 들어오면 스위치는 해당 패킷의 출발지 MAC 주소와 포트 번호를 MAC 주소 테이블에 기록한다
포워드/필터링
: 패킷이 스위치에 들어온 경우, 스위치는 도착지 MAC 주소를 확인하고 자신이 갖고 있는 MAC 테이블과 비교한다
: 매치되는 정보가 있으면 해당 포트로 패킷을 전달(Forwarding)하고 다른 포트로는 패킷을 보내지 않는다(Filtering).
일반적인 네트워크 구성은 하나의 인터페이스에 하나의 ip 주소를 설정
: 여러 개의 물리 인터페이스를 묶어 하나의 논리 인터페이스로 구성하고,
: 이 논리 인터페이스에 IP 주소를 부여하는 방식
why?
: 대역폭을 늘려 데이터 처리량을 높여주거나,
: 부하분산을 통해 효율성을 높이고
: 트래픽 처리 속도를 향상시킬 수 있고 ← 병렬 처리 가능
: 네트워크 인터페이스에 장애가 발생했을 때 좀 더 안전한 네트워크 구성을 위해 설정
⇒ 1G 랜카드 두개를 논리 인터페이스로 묶으면 2G 의 속도를 낼 수 있음
불리는 여러 이름
# -*- mode: ruby -*-
# vi: set ft=ruby :
vm_image = "nobreak-labs/rocky-9"
vm_subnet = "192.168.56."
Vagrant.configure("2") do |config|
config.vm.synced_folder ".", "/vagrant", disabled: true
config.vm.define "teaming" do |node|
node.vm.box = vm_image
node.vm.provider "virtualbox" do |vb|
vb.name = "teaming"
vb.cpus = 2
vb.memory = 1024
end
node.vm.network "private_network", ip: vm_subnet + "21", nic_type: "virtio"
node.vm.network "private_network", ip: vm_subnet + "22", nic_type: "virtio"
node.vm.hostname = "teaming"
end
end
**$ ip a**
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: **enp0s3**: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:ed:ab:98 brd ff:ff:ff:ff:ff:ff
inet **10.0.2.15/24** brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
valid_lft 86247sec preferred_lft 86247sec
inet6 fd17:625c:f037:2:a00:27ff:feed:ab98/64 scope global dynamic mngtmpaddr
valid_lft 86249sec preferred_lft 14249sec
inet6 fe80::a00:27ff:feed:ab98/64 scope link
valid_lft forever preferred_lft forever
3: **enp0s8**: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:8d:78:34 brd ff:ff:ff:ff:ff:ff
inet **192.168.56.21/24** brd 192.168.56.255 scope global noprefixroute enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe8d:7834/64 scope link
valid_lft forever preferred_lft forever
4: **enp0s9**: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:46:b4:a0 brd ff:ff:ff:ff:ff:ff
inet **192.168.56.22/24** brd 192.168.56.255 scope global noprefixroute enp0s9
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe46:b4a0/64 scope link
valid_lft forever preferred_lft forever
: 데이터(트래픽) 처리 방식. 규칙.
: 포트 인터페이스를 어떤 방식으로 사용할지 결정하는 규칙
본딩
티밍
# 현재 네트워크 장치 목록 확인
**$ nmcli device status**
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet connected enp0s3
enp0s8 ethernet connected System enp0s8
enp0s9 ethernet connected System enp0s9
lo loopback connected (externally) lo
# 팀 인터페이스 생성
**$ sudo nmcli connection add type team ifname team0
con-name cli-team ip4 192.168.56.100/24 gw4 192.168.56.1
config '{"runner": {"name": "broadcast"}}'**
Connection 'cli-team' (49f77783-227b-4424-8768-bc717055c081) successfully added.
type team : 이전에는 ethernet 을 주로 사용했지만 팀 인터페이스에서는 team 사용 *typeifname : 인터페이스 이름을 지정해주는 항목 : 일반적으로 실제 사용할 물리적 인터페이스를 지정 : 팀 인터페이스를 생성하는 경우에는 논리적인 가상의 인터페이스 사용con-name : 연결 이름을 지정해주는 항목 : 생략 가능하지만 설정 내용을 수정하거나 확인할 때 사용하므로 지정하는 것을 권장함ip4 , gw4== ipv4.addresses , ipv4.gatewayconfig : 티밍에서 사용할 러너를 지정하는 항목 : JSON 문법# 생성된 팀 인터페이스 확인
**$ nmcli device status**
DEVICE TYPE STATE CONNECTION
enp0s3 ethernet connected enp0s3
enp0s8 ethernet connected System enp0s8
enp0s9 ethernet connected System enp0s9
**team0 team connected cli-team**
lo loopback connected (externally) lo
**$ ip addr show team0**
5: team0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
link/ether 16:b8:76:9b:b5:65 brd ff:ff:ff:ff:ff:ff
inet **192.168.56.100/24** brd 192.168.56.255 scope global noprefixroute team0
valid_lft forever preferred_lft forever
**$ nmcli con show cli-team
...**
team.config: {"runner": {"name": "broadcast"}}
...
# 포트 인터페이스(팀 구성원) 생성
# 팀 인터페이스에 연결될 물리적 인터페이스
# 하나의 네트워크 인터페이스에는 하나의 IP주소만 들어갈 수 있으므로
# 현재 활성화돼있는 사용할 인터페이스를 정리해줘야 함
**$ nmcli con show --active**
NAME UUID TYPE DEVICE
enp0s3 53663641-fc96-4c9b-a390-fdc1aa6967cd ethernet enp0s3
**System enp0s8 00cb8299-feb9-55b6-a378-3fdc720e0bc6 ethernet enp0s8
System enp0s9 93d13955-e9e2-a6bd-df73-12e3c747f122 ethernet enp0s9**
cli-team 49f77783-227b-4424-8768-bc717055c081 team team0
lo f38351d6-6935-4f09-a541-8b95b9665795 loopback lo
**$ sudo nmcli con down "System enp0s8"**
Connection 'System enp0s8' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
**$ sudo nmcli con down "System enp0s9"**
Connection 'System enp0s9' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
**$ nmcli con show --active**
NAME UUID TYPE DEVICE
enp0s3 53663641-fc96-4c9b-a390-fdc1aa6967cd ethernet enp0s3
cli-team 49f77783-227b-4424-8768-bc717055c081 team team0
lo f38351d6-6935-4f09-a541-8b95b9665795 loopback lo
# 사전 준비 완료
# 포트 인터페이스 생성
**$ sudo nmcli con add type team-slave con-name cli-port1
ifname enp0s8 master team0**
Connection 'cli-port1' (f349b831-b17a-4dd0-bc91-dbd690012c7d) successfully added.
**$ sudo nmcli con add type team-slave con-name cli-port2
ifname enp0s9 master team0**
Connection 'cli-port2' (7c5c9760-c551-4bf1-96e7-bd08db89dee3) successfully added.
**$ nmcli con show**
NAME UUID TYPE DEVICE
enp0s3 53663641-fc96-4c9b-a390-fdc1aa6967cd ethernet enp0s3
**cli-team 49f77783-227b-4424-8768-bc717055c081 team team0
cli-port1 f349b831-b17a-4dd0-bc91-dbd690012c7d ethernet enp0s8
cli-port2 7c5c9760-c551-4bf1-96e7-bd08db89dee3 ethernet enp0s9**
lo f38351d6-6935-4f09-a541-8b95b9665795 loopback lo
System enp0s8 00cb8299-feb9-55b6-a378-3fdc720e0bc6 ethernet --
System enp0s9 93d13955-e9e2-a6bd-df73-12e3c747f122 ethernet --
type team-slave : 팀 구성원으로 타입 지정con-name : 연결 이름은 팀 인터페이스와 포트 인터페이스가 별도로 설정되기 때문에 구분 지음ifname : 실제 존재하는 물리 인터페이스 사용master : 어떤 팀에 속할지를 옵션할지를 지정 : 포트 인터페이스는 팀 인터페이스에 종속되므로 어떤 팀 인터페이스에 포함되는지를 명시해야 함 : 하나의 포트 인터페이스는 하나의 팀 인터페이스에만 포함될 수 있음# 내 윈도우 컴퓨터에서 가상머신의 팀 인터페이스에 ping 을 보냄
# 정상적으로 작동
# 우리가 설정한 팀 인터페이스(가상 인터페이스)가
# 정상적으로 작동함을 알 수 있음
**PS C:\Users\DS 14> ping 192.168.56.100**
Ping 192.168.56.100 32바이트 데이터 사용:
192.168.56.100의 응답: 바이트=32 시간<1ms TTL=64
192.168.56.100의 응답: 바이트=32 시간<1ms TTL=64
192.168.56.100의 응답: 바이트=32 시간<1ms TTL=64
192.168.56.100의 응답: 바이트=32 시간<1ms TTL=64
192.168.56.100에 대한 Ping 통계:
패킷: 보냄 = 4, 받음 = 4, 손실 = 0 (0% 손실),
왕복 시간(밀리초):
최소 = 0ms, 최대 = 0ms, 평균 = 0ms
→ 원래는 하나는 정상적으로 패킷 응답, 하나는 DUP! 가 반복적으로 떠야 함
→ 팀 인터페이스에 있는 두개의 포트 인터페이스(s8, s9)가 똑같은 응답을 보내기 때문에 중복되는 응답(DUP!) 가 뜨는 것
**$ sudo nmcli connection mod cli-team ipv4.addresses 192.168.56.110/24
$ nmcli con show cli-team | grep address**
ipv4.addresses: 192.168.56.110/24
ipv6.addresses: --
**$ nmcli con show cli-team | grep team.config**
team.config: {"runner": {"name": "**broadcast**"}}
# 러너 수정
**$ sudo nmcli connection modify cli-team team.config '{"runner":
{"name": "activebackup"}}'**
# 바뀐 거 확인 가능
**$ nmcli con show cli-team | grep team.config**
team.config: {"runner": {"name": "**activebackup**"}}
# 팀 인터페이스 비활성화
**$ sudo nmcli con down cli-team**
Connection 'cli-team' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5)
# 다시 활성화
**$ sudo nmcli con up cli-team**
Connection successfully activated (controller waiting for ports) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
# 팀 인터페이스만 활성화한다고 포트 인터페이스도 함께 활성화되지 않음
$ nmcli con show
NAME UUID TYPE DEVICE
**enp0s3 53663641-fc96-4c9b-a390-fdc1aa6967cd ethernet enp0s3
cli-team 49f77783-227b-4424-8768-bc717055c081 team team0**
lo f38351d6-6935-4f09-a541-8b95b9665795 loopback lo
**cli-port1 f349b831-b17a-4dd0-bc91-dbd690012c7d ethernet --
cli-port2 7c5c9760-c551-4bf1-96e7-bd08db89dee3 ethernet --**
System enp0s8 00cb8299-feb9-55b6-a378-3fdc720e0bc6 ethernet --
System enp0s9 93d13955-e9e2-a6bd-df73-12e3c747f122 ethernet --
# 포트 인터페이스들 활성화
**$ sudo nmcli con up cli-port1**
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)
**$ sudo nmcli con up cli-port2**
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/10)
**$ nmcli con show**
NAME UUID TYPE DEVICE
**enp0s3 53663641-fc96-4c9b-a390-fdc1aa6967cd ethernet enp0s3
cli-team 49f77783-227b-4424-8768-bc717055c081 team team0
cli-port1 f349b831-b17a-4dd0-bc91-dbd690012c7d ethernet enp0s8
cli-port2 7c5c9760-c551-4bf1-96e7-bd08db89dee3 ethernet enp0s9**
lo f38351d6-6935-4f09-a541-8b95b9665795 loopback lo
System enp0s8 00cb8299-feb9-55b6-a378-3fdc720e0bc6 ethernet --
System enp0s9 93d13955-e9e2-a6bd-df73-12e3c747f122 ethernet --
# 하나의 포트 인터페이스만 비활성화 가능
# 팀 인터페이스와 상관 x
**$ sudo nmcli con down cli-port1**
Connection 'cli-port1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)
**$ nmcli con show**
NAME UUID TYPE DEVICE
**enp0s3 53663641-fc96-4c9b-a390-fdc1aa6967cd ethernet enp0s3
cli-team 49f77783-227b-4424-8768-bc717055c081 team team0
cli-port2 7c5c9760-c551-4bf1-96e7-bd08db89dee3 ethernet enp0s9**
lo f38351d6-6935-4f09-a541-8b95b9665795 loopback lo
cli-port1 f349b831-b17a-4dd0-bc91-dbd690012c7d ethernet --
System enp0s8 00cb8299-feb9-55b6-a378-3fdc720e0bc6 ethernet --
System enp0s9 93d13955-e9e2-a6bd-df73-12e3c747f122 ethernet --
: 커널에 통합되어 있는 보안 모듈
: 강제 접근 제어 모델인 MAC 모델을 사용하여 시스템의 보안을 강화하는 리눅스 커널 모듈
누가 무엇에 접근할 수 있는가?
: 우리가 일반적으로 사용한 rwx 가 여기에 해당
: 사용자가 임의로 객체에게 권한을 부여하여 객체에 대한 접근을 제어함
: SELinux 에서 사용하는 모델
: 강제 접근 제어 모델
: 사용자의 역할에 따라 접근 권한이 결정됨
: SELinux 도 해당 모델을 부분적으로 사용
: 모든 것이 기본적으로 차단됨
: 컨텍스트 기반 접근 제어
: 최소 권한 원칙