SELinux SELinux는 Security Enhanced Linux의 약자로 소스코드가 공개되어 있기 때분에 보안이 취약한 리눅스의 시스템 액세스 권한을 제어하기 위해 미국 국가안보국(NAS)에서 개발한 보안 아키텍처다. 사용자의 편리성과 보안은 반비례하여 보안을 강화하면 편리성이 감소하고, 보안이 취약해지면 사용자의 편리성이 증가한다. 이번 포스팅에서는 편리성을 증가시키기 위해 SELinux를 비활성화시키는 방법에 대해 정리해 보고자 한다. SELinux 동작모드 enforcing SELinux의 기본값으로 활성화되어 보안정책이 실행되어 로그 기록과 보호를 모두 수행하는 상태 permissive SELinux가 보안정책에 대하여 로그는 기록하지만 실제 차단되지 않는 상태 disabled SELin..
리눅스 배포판 버전 및 커널 버전 확인하기 리눅스에는 다양한 배포판과 배포판의 버전 그리고 배포판 운영에 기반이 되는 커널의 버전이 있다. CentOS를 기반으로 각 버전을 확인하는 방법들을 정리해 보았다. 리눅스 배보판 버전 확인하는 방법 1. lsb_release 명령어 사용 [root@localhost ~]# lsb_release -a LSB Version: :core-4.1-amd64:core-4.1-noarch Distributor ID: CentOS Description: CentOS Linux release 7.7.1908 (Core) Release: 7.7.1908 Codename: Core [root@localhost ~]# lsb_release -a 명령 입력하여 Release를 확인하..
VirtualBox, KVM 등 Linux환경에서 사용할 수 있는 다양한 가상 머신 관리자가 있다. CentOS 7에서 버추얼박스 사용을 위해 설치 및 실행하는 방법을 정리 보았다. CentOS 7에서 버추얼박스 설치하는 방법. cd /etc/yum.repos.d; wget http://download.virtualbox.org/virtualbox/rpm/rhel/virtualbox.repo; yum -y repolist; yum install -y gcc make kernel-devel; yum install -y VirtualBox-6.1; virtualbox -v 무엇을 설치하고 어떻게 진행되는지가 알고 싶지 않고 빠른 설치가 필요한 상황이라면 위 내용을 복사 + 붙여 넣기 하면 설치가 가능하다. ..
리눅스 명령어 ldd는 지정한 프로그램을 실행하는데 필요한 공유 라이브러리(Shared Library) 의존성을 확인할 때 사용하는 명령어다. error while loading shared libraries: [라이브러리 명] cannot open shared object file: No such file or directory 실행 파일은 있는데 필요한 라이브러리가 없는 경우 해당 라이브러리가 없다고 오류 메시지를 출력한다. 하지만 오류 메시지는 필요한 라이브러리를 1개씩만 출력하기 때문에 여러 라이브러리가 필요한 경우에 번거로운 상황이 발생한다. 이러한 상황에 ldd 명령을 활용하면 필요한 라이브러리를 모두 확인할 수 있다. ldd command ldd [옵션] 파일명 pwd 옵션 옵션 설명 -v ..
pwd는 print working directory의 약자로써, 현재 작업중인 디렉토리(폴더)의 위치(경로)를 출력하는 명령이다. 작업도중 현재 위치를 확인하기위해 사용되며 $PWD 변수로도 사용이 가능하다. pwd command pwd [옵션] pwd 옵션 옵션 설명 -P 심볼릭 링크를 무시하고 실제 디렉토리 경로 출력 1. 현재 위치 출력하기. [root@localhost test]# pwd /test 옵션을 주지 않고 pwd 명령을 사용하여도 현재 위치를 확인할 수 있다. 심볼릭링크, 디렉토리 생성 [root@localhost test]# ls total 4 drwxr-xr-x. 3 root root 32 2021-01-14 11:06 . dr-xr-xr-x. 19 root root 4096 202..
mkdir은 make directory의 약자로 CLI 명령으로 새로운 디렉토리를 생성할 때 사용하는 명령이다. mkdir은 umask값을 통해 사용자 권한을 적용하여 디렉토리를 생성한다. 별도로 설정하지 않았다면 umask값은 0022로 디렉토리에서 가질 수 있는 최대 권한인 777에서 22를 차감한 값인 755로 디렉토리를 생성한다. 따라서 모든 사용자에게 일기와 실행 권한이 부여된다. mkdir command mkdir [옵션] [생성할 디렉토리명] mkdir 옵션 옵션 설명 -p 상위 경로의 디렉토리가 없을 경우 함께 생성 -m umask 값을 무시하고 지정한 권한으로 생성 -v 디렉토리 생성 결과 출력 --version mkdir의 버전 정보 출력 1. 디렉토리 생성하기. [root@localh..
lastlog는 /etc/passd 파일에 정의되어 있는 시스템의 모든 계정 정보와 /var/log/lastlog 파일에 기록되어 있는 시스템 로그 파일을 분석하여 사용자의 마지막 로그인 시간, 호스트 명, 포트를 출력하는 명령이다. 로그 접속 기록 중 출처를 알 수 없는 접속 기록이나 로그인이 허락되지 않은 사용자의 접속 기록이 있다면 크래킹의 흔적으로 볼 수 있어 시스템을 분석할 필요가 있다 lastlog command lastlog [옵션] 1. 기본 출력 확인 하기 [root@localhost ~]# lastlog 사용자이름포트어디서최근정보 rootpts/4*.*.*.*월 1월 11 21:49:00 +0900 2021 -- 중략 -- gnome-initial-setup:0목 4월 9 12:38:5..
uptime은 시스템의 부팅 후 경과된 시간과 현재 로그인 한 사용자 수, 최근 평균 시스템 부하율을 확인할 수 있는 명령이다. update command uptime [옵션] 1. 기본 출력 확인 하기 [root@localhost ~]# uptime 23:13:46 up 6 days, 11:16, 1 user, load average: 0.07, 0.03, 0.05 옵션을 주지 않고 uptime만 입력하여 출력한 결과 값이다. 기본으로 출력할 경우 현재시간, 시스템 부팅 후 경과된 시간, 로그인된 사용자 수, 평균 부하율을 표시한다. 위실행 결과를 해석하면 23:13:46 = 현재시간 up 6 days, 11:16, = 시스템 가동 후 6일 11시간 16분이 경과됨 1 user., = 1명의 사용자가 ..
WireShark는 네트워크 패킷 캡처 프로그램으로 yum 명령을 통해 간단하게 설치하여 활용할 수 있다. CentOS 7에서 WireShark 설치하는 방법. 1. yum 명령으로 wireshark , wireshark-gnome 설치하기 [root@localhost ~]# yum -y install wireshark wireshark-gnome Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile -- 중략 -- Running transaction Installing : libsmi-0.4.8-13.el7.x86_64 1/3 Installing : wireshark-1.10.14-25.el7.x86_64 ..
Linux를 원격에서 사용한다면, 보통 SSH로 연결하여 터미널 환경을 사용 하지만 GUI가 필요한 경우가 종종 있다. CentOS 환경이라면 간단한 작업으로 Windows에서 원격 접속이 가능하여 유용하게 자주 사용하는 기능이라 정리 보았다. CentOS 7을 Windows에서 원격 접속하는 방법. 주의 사항으로 기술한 방법을 사용하기 위해선 GNOME이 설치되어 있어야 한다. yum install -y epel-release ; yum install -y xrdp tigervnc-server ; systemctl start xrdp.service; systemctl enable xrdp.service; firewall-cmd --permanent --zone=public --add-port=3389/..
hosts 파일은 특정 URL 주소에 접속할 때 DNS 서버에 질의하지 않고 지정된 IP 주소로 연결해 주는 기능을 하는 파일이다. 웹서버와 관련된 테스트를 위한 경우나 내부망에서 DNS에 등록되지 않은 사이트를 이용할 때 사용한다. hosts 파일 수정 방법 1. root 권한으로 hosts 파일 실행 [root@localhost ~]# vi /etc/hosts hosts 파일은 사용자 계정으로 확인할 수 있지만 편집할 수 없다. root 권한으로 실행이 필요하다. 2. hosts 파일 수정. command [이동할 주소] [입력할 주소] 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost l..
watch는 명령의 결과를 시간(초)를 주기로 결과를 갱신하며 출력하는 명령으로 시스템 모니터링이나 반복적인 확인을 수행할때 유용하다. 1. command watch [옵션] [출력 명령] 2. 옵션 기본 사용 (2초 간격 갱신) watch [출력 명령] 기본사용 +변경내용 표기 watch -d [출력 명령] 간격을 설정 하여 갱신 watch -n [초단위 원하는 간격] 3. 자주 사용하는 예시 watch 'free -m' Every 2.0s: free -m Mon Dec 21 21:31:08 2020 total used free shared buff/cache available Mem: 7622 1838 475 63 5307 5418 Swap: 7807 606 7201 옵션을 사용하지 않고 메모리 상태..
wc는 해당 파일, 표준 출력의 라인, 단어, 문자수를 출력하는 명령으로 압축된 파일의 파일수를 확인하거나 특정 조건이 사용된 횟수를 확인하는데 유용하다. 1. command wc [옵션] [파일명] [출력 명령] | wc [옵션] 2. 옵션 기본 사용 wc [파일명] [출력 명령] | wc byte 단위 새기 wc -c [파일명] [출력 명령] | wc -c 문자 수 새기 wc -m [파일명] [출력 명령] | wc -m 단어 수 새기 wc -w [파일명] [출력 명령] | wc -w 라인 수 새기 wc -l [파일명] [출력 명령] | wc -l 3. 자주 사용하는 예시 [root@localhost /]# mkdir test [root@localhost /]# cd test/ [root@localho..
logger는 평소에 syslog가 기록하는 로그 외에 별도의 커스텀 로그를 발생시키는 명령이다. 1. command logger [옵션] [메시지] 2. 문법 로그 메시지 기록 logger [메시지] logger 프로세스 id를 포함하여 로그 메시지 기록 logger -i [메시지] file의 내용을 로그 메시지에 기록 logger -f [파일명] 로그 메시지 기록 + 표준 출력 logger -s [메시지] tag를 포함하여 로그 메시지 기록 logger -t [tag] [메시지] 3. 사용 예시 [root@localhost /]# logger test [root@localhost /]# tail -1 /var/log/messages Dec 17 13:13:43 localhost root: test -..
wget은 서버로부터 콘텐츠를 가져오는 프로그램으로 HTTP, HTTPS, FTP 프로토콜을 통해 다운로드를 지원한다. wget을 활용하면 다양한 다운로드 상황을 제어할 수 있다. 1. command wget [옵션] [URL] 2. 옵션 기본 다운로드 wget [다운로드 URL] 다른이름으로 다운로드 wget -O [저장할 파일명] [다운로드 URL] 다수의 파일 다운로드 wget -i [URL 기록 파일] 디렉토리 다운로드 wget -r [다운로드URL] 특정 확장자 제외 다운로드 wget -r --reject=html 백그라운드 다운로드 wget -b [다운로드 URL] 브라우저 처럼 다운로드 wget --user-agent="[브라우저 정보]" [다운로드 URL] 다운로드 로그파일 생성, 기록 w..
awk는 패턴 검색 및 처리를 목적으로 텍스트 형태로 되어있는 데이터를 필드로 구분하여 처리하는 스크립트 언어다. 1. command awk [옵션] [파일명] [출력 명령] | awk [옵션] 2. 옵션 특정 문구가 포함된 줄 출력 [출력 명령] | awk'/[찾을내용]/' 2열과 3열 출력 [출력 명령] | awk'{print$2,$3}' 2열과 3열을 붙혀서 출력 [출력 명령] | awk'{print$2$3}' 2열과 3열을 합하여 출력 [출력 명령] | awk'{print$2+$3}' 마지막 열 출력 [출력 명령] | awk'{print$NF}' 필드 수 출력 [출력 명령] | awk'{printNF}' %문자를 구분자로 활용 [출력 명령] | awk-F%[옵션] 3. 실행 예시 [root@loc..
1. grub 설정 파일 열기 vi /etc/sysconfig/grub 2. 기존 모니터 출력 관련 내용 삭제( 5번 6번 줄) GRUB_TERMINAL_OUTPUT="console" GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet" 3. 모니터, 시리얼 포트 모두 출력하도록 설정 추가 시리얼 포트명과 스피드는 사용자 환경에 따라 달라진다. GRUB_TERMINAL="console serial" GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1" GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd..