추천명령어 59

[Linux] smb.conf 모든 옵션 및 설정 방법

Samba 설정 파일(/etc/samba/smb.conf)에서 사용할 수 있는 주요 옵션들과 그에 해당하는 값들을 아래 표와 예시를 통해 설명드리겠습니다.옵션설명가능한 값예시workgroup작업 그룹 이름을 설정합니다.문자열workgroup = WORKGROUPserver string서버 설명을 설정합니다.문자열server string = Samba Serverwins supportWINS 서버 역할 여부를 설정합니다.yes/nowins support = nodns proxyNetBIOS 이름을 DNS를 통해 해석할지 설정합니다.yes/nodns proxy = yesinterfacesSamba가 바인딩할 네트워크 인터페이스를 설정합니다.인터페이스 목록interfaces = 192.168.1.1/24 et..

Linux 06:34:52

[Linux] sftp 계정 생성 및 설정 방법

SFTP 서비스를 사용하기 위해 sftpdev 계정을 설정하는 방법은 다음과 같습니다1. 계정 생성: sftpdev 사용자를 생성하고, /home/sftpdev를 홈 디렉토리로 지정하며, 로그인 쉘을 /usr/sbin/nologin으로 설정합니다.-m 플래그는 홈 디렉토리를 자동으로 생성하라는 의미이고, -d 옵션은 홈 디렉토리 경로를 지정합니다. -s 옵션은 사용자가 쉘에 로그인하는 것을 방지합니다.sudo useradd -m -d /home/sftpdev -s /usr/sbin/nologin sftpdev2. 비밀번호 설정: sftpdev 사용자에게 비밀번호를 설정합니다.이 명령을 실행한 후에는 시스템이 비밀번호를 입력하라고 요청할 것입니다.sudo passwd sftpdev3. SSH 설정: ssh..

Linux 2024.05.14

[Linux] sftp sshd_config 에서 match 로 user, group 설정 방법

sshd_config 파일에서 사용자(User)와 그룹(Group)을 기반으로 설정을 매치(match)하는 방법은 다음과 같습니다:1. SSH 설정 파일 열기sudo vi /etc/ssh/sshd_config2. Match 지시어 사용: sshd_config 파일에 Match 지시어를 사용하여 특정 사용자나 그룹에 대한 설정을 적용할 수 있습니다. 예를 들어, sftpdev 사용자와 sftpgroup 그룹에 대한 설정을 다음과 같이 추가할 수 있습니다.이 설정은 sftpdev 사용자가 sftpgroup 그룹의 일원일 때만 적용됩니다.Match User sftpdev Group sftpgroup ChrootDirectory /home/sftp ForceCommand internal-sftp ..

Linux 2024.05.13

[WEB] Haproxy 에서 STREAM 형식으로 처리 방법

HAProxy에서 80과 443 포트를 설정하여 192.168.0.161 및 192.168.0.162 주소로 로드밸런싱하고, 두 서버 모두 중지될 경우 살아있는 서버로 통신이 이루어지도록 설정하는 방법은 다음과 같습니다. 이 설정은 인증서 없이 STREAM 형식으로 처리됩니다.# HAProxy 설정 파일인 haproxy.cfg의 예시입니다.# HAProxy 설정global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user..

WEB,WAS 2024.05.07

[WAS] Tomcat 에서 응답 데이터를 UTF-8로 전송하기 위한 모든 방법

톰캣(Tomcat)에서 WAR 파일을 사용하여 응답 데이터를 UTF-8로 전송하는 방법은 다음과 같습니다:server.xml 설정 변경: server.xml 파일에서 태그의 URIEncoding 속성을 "UTF-8"로 설정합니다.servlet 설정 변경: 서블릿에서 response.setCharacterEncoding("UTF-8") 메소드를 사용하여 응답 인코딩을 설정합니다.response.setCharacterEncoding("UTF-8");JSP 페이지 인코딩 설정: JSP 페이지 상단에 지시어를 추가합니다.필터 사용: web.xml에 UTF-8 인코딩을 설정하는 필터를 추가하고 모든 요청에 대해 이 필터를 적용합니다. encodingFilter o..

WEB,WAS 2024.05.06

[Linux] nc 명령어로 기관 통신 모니터링 스크립트

타임아웃을 3초로 설정하여 기관별 통신테스트 하는 스크립트입니다.#!/bin/bash# 기관 목록을 배열로 정의합니다.declare -A institutions=( ["기관1"]="123.45.67.89:80" ["기관2"]="98.76.54.32:80" ["기관3"]="135.79.86.42:80" ["기관4"]="246.80.135.79:80" ["기관5"]="192.168.1.1:80")# 비정상적인 기관들의 목록을 저장할 변수를 초기화합니다.unhealthy_institutions=""# 각 기관의 통신 상태를 확인합니다.for institution in "${!institutions[@]}"; do ip_port=(${institutions[$insti..

Linux 2024.05.02

[Network] nc, telnet, /dev/tcp, socat 비교표 및 예시

리눅스에서 nc (Netcat), telnet, /dev/tcp, socat를 사용하여 통신 테스트를 할 때의 차이점을 비교표로 정리해 드리겠습니다. 아래 표는 각 도구의 주요 특징과 사용 시 고려해야 할 점들을 요약한 것입니다:도구설명장점단점사용 사례nc (Netcat)다양한 네트워크 연결을 위한 유틸리티로, TCP와 UDP 프로토콜 모두 지원합니다.- 8비트 클린 연결- 다양한 프로토콜 지원- 스크립트와의 파이프 연결 가능- 일부 시스템에서 기본적으로 설치되어 있지 않을 수 있음- 데이터 전송- 포트 스캐닝- 서버 시뮬레이션telnet원격 호스트에 연결하기 위한 프로토콜 및 클라이언트입니다.- 널리 사용됨- 인터랙티브한 사용이 가능- 보안이 취약함- 일부 데이..

Network 2024.05.01

[Linux] SSL,TLS 인증서 만료일 체크하여 Mattermost 전송

아래 스크립트는 도메인,포트 형식의 목록을 사용하여 SSL 인증서의 만료일자를 확인하고, 갱신일이 30일 이하인 경우에 대한 정보를 Mattermost로 전송하도록 작성하였습니다.#!/bin/bash# 도메인과 포트 목록 (도메인,포트 형식으로 정의)declare -A domainsdomains["www.naver.com"]="443"domains["example.com"]="443"domains["google.com"]="443"# 각 도메인,포트별로 SSL 인증서 정보를 가져오는 함수 정의get_ssl_info() { local domain="$1" local port="$2" local expiry_date expiry_date=$(openssl s_client -connect..

Linux 2024.04.30

[Linux] 리눅스에서 <,> 표준 입력,출력 리디렉션 명령어 사용법

리눅스에서 기호는 표준 입력과 표준 출력을 리디렉션하는 데 사용됩니다. 여기에 간단한 설명과 예시를 들어보겠습니다:cat > 기호는 명령어의 표준 출력을 파일로 리디렉션할 때 사용합니다. 예를 들어, "Hello World"라는 문자열을 temp.txt 파일에 저장하고 싶다면 다음과 같이 사용할 수 있습니다:이 명령을 실행하면 "Hello World"라는 문자열이 temp.txt 파일에 저장됩니다.echo Hello World > temp.txt리디렉션은 스크립트 작성이나 데이터 처리를 할 때 매우 유용하게 사용됩니다. 더 복잡한 작업을 위해서는 >>를 사용하여 기존 파일에 내용을 추가하거나, 2>를 사용하여 에러 메시지를 다루는 등 다양한 리디렉션 방법이 있습니다.표준 출력 리디렉션 (Standard..

Linux 2024.04.29

[Docker] docker cp 명령어 사용

도커에서 컨테이너의 파일을 로컬로 복사하거나 로컬의 파일을 컨테이너로 복사하는 명령어를 간단히 알려드리겠습니다:컨테이너 안에 있는 파일을 로컬로 복사:컨테이너 내부에 있는 파일을 로컬로 가져오려면 다음 명령어를 사용합니다:$ docker cp : 예를 들어, "tmp_container"라는 컨테이너 내부에 “/root/data/test.md” 파일이 있다면:$ docker cp tmp_container:/root/data/test.md ~/data/위 명령어는 컨테이너 이름과 컨테이너 내부 데이터 경로를 " : "로 구분해 적어주고, 로컬 경로를 지정합니다.로컬의 파일을 컨테이너 안으로 복사:로컬의 파일을 컨테이너로 옮기려면 명령 인자의 순서를 반대로 해주면 됩니다:$ docker cp :예를 들어, ..

Docker 2024.04.26