리눅스 터미널에서 복사 붙이기

리눅스/OS 일반|2024. 4. 23. 16:14
반응형

윈도우즈 사용자는 복사 붙이기를 Ctrl + C, Ctrl + V 로 많이 사용하는데,

리눅스 터미널의 CLI 환경을 많이 사용하다 보면 위 단축키가 먹히지 않아 다른 방법으로 복사 붙이기를 합니다.

GUI 환경에서도 마우스 우클릭으로 해당 작업이 가능하지만 주로 키보드와 병행하여 사용할때는 아래 방법이 더 빠를 수 있으니 한 번 사용해 보세요.

 

- 복사 : Ctrl + Insert 또는 Ctrl + Shift + C

- 붙이기 : Shift + Insert 또는 Ctrl + Shift + V

 

반응형

댓글()

윈도우즈 동시 접속 사용자 수 변경 및 유휴 세션 종료하기

윈도우즈/OS 일반|2024. 4. 22. 15:44
반응형

1. 동시 접속자 수 변경

 

윈도우즈 OS 설치시 기본 2개의 세션만 동시 원격 접속이 가능한데, '로컬 그룹 정책' 에서 값을 바꿔 줌으로써 더 많은 사용자의 동시 접근을 허용할 수 있습니다. 여기에서는 10개의 세션이 동시 접속 가능하도록 설정하는 방법을 안내합니다. 물론 사용한 만큼의 라이센스는 신고하여 비용을 납부하셔야 합니다.

 

시작 > 실행에서 'gpedit.msc' 명령 실행 후 아래 경로로 이동합니다.
컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > 터미널 서비스 > 원격 데스크톱 세션 호스트 > 연결

 

'연결 개수 제한' 우클릭 후 '편집' 에서 아래와 같이 설정합니다.

- '사용' 상태

- TS 최대 허용 연결 : 10

 

 

2. 유휴 세션 자동 종료하기

 

시작 > 실행에서 'gpedit.msc' 명령 실행 후 아래 경로로 이동합니다.

컴퓨터 구성 > 관리 템플릿 > Windows 구성 요소 > 터미널 서비스 > 원격 데스크톱 세션 호스트 > 세션 시간 제한

 

'연결 끊어진 세션에 시간 제한 설정' 우클릭 후 '편집' 에서 아래와 같이 설정합니다.

- '사용' 상태

- 연결 끊어진 세션 종료 : 1시간


'활성 상태지만 유휴 터미널 서비스 세션에 시간 제한 설정' 우클릭 후 '편집' 에서 아래와 같이 설정합니다.

- '사용' 상태

- 유휴 세션 제한 : 1시간

 

반응형

댓글()

서버에 로그인 (계정 환경 불러오기) 될때마다 Telegram 으로 관리자에게 알람 주는 방법

리눅스/Security|2024. 4. 18. 12:23
반응형

리눅스 서버에 로그인 (SSH 또는 로컬) 이벤트가 발생하면 Telegram bot 을 이용해 관리자에게 알람을 주는 방법입니다.

접속자의 IP 와 계정 정보를 Telegram 메세지로 발송 함으로써 보안 이슈를 감지하고 차단할 수 있습니다.

이러한 기능을 구현하려면 몇 가지 단계를 따라야 합니다.

이 작업을 수행하기 위해서는 Bash 스크립트 작성, Telegram Bot 생성, CHAT_ID 수신 허용, 그리고 Profile 환경 설정 파일에 로그인 이벤트와 스크립트를 연동하는 과정이 포함됩니다.

 


1. Telegram Bot 생성 및 API 토큰 획득

 

Telegram Bot 생성: Telegram 에서 BotFather 를 검색하여 시작합니다. /newbot 명령을 입력하고, Bot 의 이름과 유저네임을 설정합니다.

API 토큰 획득 : Bot 생성이 완료되면, BotFather 는 API 토큰을 제공합니다. 이 토큰은 HTTP API 를 통해 메시지를 보낼 때 사용됩니다.

 

텔레그램에서 @BotFather 검색 > 대화창에 /newbot 입력 이후, 요청하는 절차대로 진행하면 됩니다.

메세지 수신을 위해서는 텔레그램에서 봇이름 검색 후 대화창에서 [시작] 버튼을 눌러줍니다. 그래야 봇이 보내주는 메세지를 로그인 계정에서 받을 수 있는 허용 상태가 됩니다.

 

 

2. Bash 스크립트 작성

 

아래는 서버에 로그인 시 실행될 Bash 스크립트의 예입니다.

이 스크립트는 사용자 이름과 IP 주소를 추출하여 Telegram Bot API를 사용해 메시지를 보냅니다.

 

# vi /etc/alert_login.sh

#!/bin/bash

# Telegram 설정

API_KEY="12345678:ABFNrljuQ4nrwbChhMlx1z-tA36Ww" # 텔레그램 봇 API KEY
CHAT_ID="00112233" # 수신자 CHAT_ID

# 로그인 정보 추출

USER=`whoami`
TTY=`tty |sed -e 's/\/dev\///'`
IP_ADDRESS=`w |grep "$TTY " |awk {'print $3'}`

# 메시지 전송

MESSAGE="서버 로그인이 감지 되었습니다.
- 서버 : 파일 서버
- 로그인 ID : $USER
- 접속자 IP : $IP_ADDRESS"
URL="https://api.telegram.org/bot$API_KEY/sendMessage"

curl -s -X POST $URL -d chat_id=$CHAT_ID -d text="$MESSAGE" > /dev/null 2>&1

 

* 설명

whoami 명령 : 현재 로그인한 사용자의 이름을 반환합니다.

"$TTY " : 문자 뒤에 한칸 띄운 이유는 동일한 숫자로 시작되는 다른 TTY 를 가져오지 않기 위해서 입니다.

curl : 마지막에 null 처리하여 처리 결과를 콘솔에 출력시키지 않습니다.

 

스크립트 파일에 실행 권한을 부여합니다:

# chmod +x /etc/alert_login.sh

 

 

3. Profile 환경 설정 파일에 연결

 

서버에 로그인 시 스크립트가 자동으로 실행되도록 하려면, /etc/profile 파일에 스크립트 실행 명령어를 추가합니다:

# echo "sh /etc/alert_login.sh" >> /etc/profile

 

* 주의

위 설정은 모든 로그인 계정에서 강제로 실행됩니다.

특정 사용자의 계정에게만 적용하고자 한다면 개별 사용자의 .bash_profile 또는 .bashrc 에 스크립트를 추가하면 됩니다.

 

위의 단계를 완료하면, 서버에 로그인할 때마다 해당 사용자의 로그인 정보가 Telegram Bot 을 통해 관리자에게 알림으로 전송됩니다.

 

 

4. 쉘스크립트 암호화 (선택)

 

쉘스크립트에 Telegram Bot API KEY 와 사용자의 CHAT_ID 가 포함되어 있어 누군가 확인할 우려가 있을 경우 쉘스크립트를 바이너리 파일로 변경할 수 있습니다.

우선 필요한 패키지를 설치하고 위에서 작성했던 쉘스크립트를 암호화 합니다.

# apt -y install shc

# shc -f /etc/alert_login.sh -o /etc/alert_login

 

/etc/profile 파일에서 쉘스크립트 실행 명령을 바이너리 파일 실행 명령으로 바꿉니다.

- 기존 : sh /etc/alert_login.sh

- 변경 : /etc/alert_login
# sed -i 's/sh \/etc\/alert_login.sh/\/etc\/alert_login/' /etc/profile

 

변경이 완료되었으면 테스트를 해봅니다. 이상이 없는 경우 기존 쉘스크립트는 삭제해 두는 것이 좋습니다.

 

반응형

댓글()

리눅스 Desktop 에서 Alert 메세지창 띄우기

리눅스/OS 일반|2024. 4. 3. 06:32
반응형

JavaScript 의 Alert 와 같이 리눅스 Desktop 사용시 화면 중앙에 메세지를 띄우는 방법입니다.

 

첫번재 방법

# apt -y install zenity

# zenity --info --title="알림" --text="Sysdocu 프로세스가 실행 중입니다."

 

두번째 방법

# apt install libnotify-bin

# notify-send "알림" "Sysdocu 프로세스가 실행 중입니다."

 

반응형

댓글()

Docker 기본 root 디렉토리 변경하기

반응형

디스크 부족 등의 이유로 디렉토리를 변경해야 할 경우가 있습니다.

설정파일을 통해 간단히 변경이 가능합니다.

 

1. 확인

현재 Docker 기본 root 디렉토리를 확인합니다.

# docker info |grep Root
 Docker Root Dir: /var/lib/docker

 

2. 디렉토리 설정 변경

Docker 의 설정 파일을 수정하여 디렉토리를 변경할 수 있습니다.

아래는 기본 디렉토리를 /data 로 변경한 예 입니다.

(파일이 없을경우 생성하면 됩니다)

# vi /etc/docker/daemon.json

{
        "data-root" : "/data"
}

 

3. 적용하기

Docker 데몬을 재시작 하면 변경한 설정이 적용되고, 디렉토리를 조회하면 새로 구성된 파일이 생성 되었음을 알 수 있습니다.

# systemctl restart docker

# ls -al /data
total 52
drwx--x--- 12 root root 4096 Apr  1 05:56 .
drwxr-xr-x 20 root root 4096 Mar 31 23:30 ..
drwx--x--x  4 root root 4096 Apr  1 05:56 buildkit
drwx--x---  2 root root 4096 Apr  1 05:56 containers
-rw-------  1 root root   36 Apr  1 05:56 engine-id
drwx------  3 root root 4096 Apr  1 05:56 image
drwxr-x---  3 root root 4096 Apr  1 05:56 network
drwx--x---  3 root root 4096 Apr  1 05:56 overlay2
drwx------  4 root root 4096 Apr  1 05:56 plugins
drwx------  2 root root 4096 Apr  1 05:56 runtimes
drwx------  2 root root 4096 Apr  1 05:56 swarm
drwx------  2 root root 4096 Apr  1 05:56 tmp
drwx-----x  2 root root 4096 Apr  1 05:56 volumes

 

반응형

댓글()