Ubuntu 22.04 에서 Tomcat 9 설치 및 SSL 설정

리눅스/APACHE|2024. 6. 18. 08:05
반응형

Ubuntu 22.04 환경에서 테스트 후 작성되었습니다.

- 참고 : https://tomcat.apache.org/tomcat-9.0-doc/ssl-howto.html

 

 

1. Tomcat 설치

 

관련 패키지를 설치하고 실행합니다.

# apt -y install default-jdk tomcat9 tomcat9-admin tomcat9-user

# systemctl enable --now tomcat9

 

 

2. SSL 설정

 

1) 인증서 형식으로 변환

(SSL 인증서 디렉토리로 이동 후)

# openssl pkcs12 -export -in www_sysdocu_kr.crt -inkey www_sysdocu_kr.key -out keystore.p12 -name sysdocu

입력한 순서대로 인증서파일, 키파일, 생성할 키파일 이름, 키이름 입니다.

(-CAfile chain.pem -caname root 와 같은 옵션도 추가 가능)

실행하면 암호를 입력하라고 나오는데, 이는 톰캣 설정파일에 쓰이는 암호로 인증서 패스워드와 동일하지 않아도 됩니다.

여기에서는 예시로 비밀번호를 12345678 로 입력하였습니다.

 

아래와 같이 파일이 생성되었습니다.

# ls -al keystore.p12 
-rw------- 1 root root 3392 Jun 18 07:35 keystore.p12 

 

Tomcat 데몬이 읽을 수 있도록 소유자와 퍼미션을 변경하고 톰캣 설정 디렉토리로 이동해 줍니다.

(이 부분은 적당히 조정 가능)

# chown root.tomcat keystore.p12

# chmod 640 keystore.p12

# mv keystore.p12 /var/lib/tomcat9/conf/

 

 

2) 설정

# vi /var/lib/tomcat9/conf/server.xml

...

    <Connector port="80" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="443" />

    <Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
            maxThreads="150"
            SSLEnabled="true">
            <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
            <SSLHostConfig>
                <Certificate certificateKeystoreFile="/var/lib/tomcat9/conf/keystore.p12"
                    certificateKeystorePassword="12345678" type="RSA" />
            </SSLHostConfig>
    </Connector>

...

 

설정 저장 후 데몬을 재시작 합니다.

# systemctl restart tomcat9

 

 

반응형

댓글()

Ubuntu 22.04 에서 FreeRDP 사용하여 RDP 접속하기

리눅스/OS 일반|2024. 6. 3. 16:52
반응형

FreeRDP는 RDP(Remote Desktop Protocol) 를 구현한 오픈소스 소프트웨어로, 주로 리눅스 환경에서 원격으로 윈도우 서버나 PC에 접속할 수 있게 해주는 도구입니다. Ubuntu 22.04 에서도 FreeRDP 패키지를 설치하고 사용하여 원격 데스크톱 기능을 활용할 수 있습니다.

[ FreeRDP의 주요 기능 ]
- 원격 데스크톱 연결 : FreeRDP는 RDP 프로토콜을 사용하여 리눅스에서 원격으로 윈도우 시스템에 접속할 수 있게 해줍니다. 이를 통해 사용자는 GUI 환경에서 윈도우를 제어할 수 있습니다.
- 다양한 옵션 지원 : FreeRDP는 기본적인 원격 데스크톱 연결 외에도 오디오 재생, 클립보드 공유, 프린터 공유, 파일 공유 등의 기능을 지원합니다. 이를 통해 더 나은 원격 작업 환경을 제공합니다.
- 멀티플랫폼 지원 : FreeRDP는 리눅스, 윈도우, macOS 등 여러 운영체제에서 사용 가능하며, 다양한 버전의 RDP를 지원합니다.
- 보안 기능 : TLS/SSL을 통한 보안 연결을 지원하여 안전한 원격 접속이 가능합니다.

 

Ubuntu 22.04 환경에서 FreeRDP 를 설치 및 사용하는 방법입니다.

 

1. 설치

# apt-get update
# apt-get install freerdp*

 

2. 사용

# xfreerdp /v:192.168.10.2 /u:administrator /w:1280 /h:1024 /bpp:32 /drive:/home/sysdocu/문서 /rfx /gfx /compression /clipboard /audio /microphone /printer &> /dev/null &

 

- RDP 서버 IP 와 계정 이름을 입력하고 화면 사이즈를 정할 수 있습니다.

- 필요한 옵션을 나열하면 해당 기능을 사용할 수 있습니다.

- 마지막에 &> /dev/null & 부분은 출력되는 Warning 이나  Error 가 출력되지 않게 하려는 것인데, 처음 접속하는 서버의 경우 인증서를 저장할지 여부를 물어보기 때문에 한 번은 생략하고 실행해야 합니다. 그 이후에 파란색 부분을 추가하면 화면에 출력되는 글자 없이 깔끔히 명령이 실행되어 집니다. 

 

반응형

댓글()

script 를 이용한 안내 창 (Alert) 커스텀하여 출력하기

반응형

아래 소스를 적당히 수정하여 사용합니다.

 

<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Custom Alert</title>
    <style>
        /* Custom alert box styling */
        .alert-overlay {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: rgba(0, 0, 0, 0.5);
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 9999; /* High z-index to ensure it is on top */
        }
        .alert-box {
            background: white;
            padding: 20px;
            border-radius: 5px;
            text-align: center;
            width: 400px;
            height: 250px;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }
        .alert-box h1 {
            margin-top: 0;
        }
        .alert-box p {
            margin: 20px 0;
            font-size: 13px;
            color: #111111;
        }
        .alert-box button {
            width: 100px; /* Set fixed width */
            margin: 0px auto 0px; /* Center horizontally */
            padding: 10px;
            border: none;
            background: #007BFF;
            color: white;
            border-radius: 5px;
            cursor: pointer;
        }
        .alert-box button:hover {
            background: #0056b3;
        }
    </style>
</head>
<body>
    <div id="alertOverlay" class="alert-overlay" style="display: none;">
        <div class="alert-box">
            <h1>데모 페이지 로그인 정보</h1>
            <p>계정 : <font size="3" color="blue">sysdocu</font><br>
비밀번호 : <font size="3" color="blue">12345678</font><br><br>
* 다른 사용자와의 중복 테스트로 오작동이 일어날 수 있습니다.<br>
* 테스트를 마친 후 데이터를 삭제해 주시기 바랍니다.</p>
            <button onclick="closeAlert()">확인</button>
        </div>
    </div>
    <script>
        function showAlert() {
            document.getElementById('alertOverlay').style.display = 'flex';
        }

        function closeAlert() {
            document.getElementById('alertOverlay').style.display = 'none';
        }

        // Show the alert when the page loads
        window.onload = showAlert;
    </script>
</body>
</html>

 

반응형

댓글()

Docker 이미지를 다른 서버로 복사하기

반응형

Docker 이미지를 한 서버에서 다른 서버로 복사할 수 있습니다.

여러 가지 방법이 있지만, 가장 일반적인 방법은 docker save 와 docker load 명령어를 사용하는 것입니다.

 

 

1. 이미지 추출

 

기존 서버에서 이미지 리스트를 확인합니다.

# docker images
REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
sysdocu_2            latest    ba025dce294f   8 hours ago    12.3GB

 

확인된 이미지를 tar 파일로 저장합니다.

# docker save -o image.tar sysdocu_2:latest

 

파일이 생성되었습니다.
# ls -al image.tar

-rw------- 1 root root 12471617536  8월  1 07:22 image.tar

 

 

2. 파일 전송

 

저장한 tar 파일을 다른 서버로 전송합니다.
# rsync -avzP image.tar root@192.168.10.2:/root/

 

 

3. 이미지 로드

 

다른 서버에서 tar 파일을 로드하여 docker 이미지 리스트에 추가합니다.

# docker load -i /root/image.tar

 

이미지가 이전된 것이 확인되었습니다.

# docker images
REPOSITORY          TAG       IMAGE ID       CREATED        SIZE
sysdocu_2            latest    ba025dce294f   8 hours ago    12.3GB

 

반응형

댓글()

vi / vim 여러줄 주석 및 해제 방법

리눅스/OS 일반|2024. 5. 21. 14:43
반응형

vi / vim 편집기에서 한번에 여러줄을 주석처리하거나 해제하는 방법에 대해서 간단히 알아보겠습니다.
 
1. 여러줄 주석 처리
1.1 vi / vim 명령어를 통해 수정할 파일을 연다.
1.2 v 키를 눌러 visual 모드로 진입 후 방향키를 이용하여 주석 처리할 줄을 선택한다.
1.3 : 키를 누르고 norm i# 을 입력 후 엔터를 클릭한다.
 
위의 3단계의 과정을 거치면 한번에 여러줄에 문자를 입력할 수 있습니다.

# 을 넣었으니 주석 처리가 됩니다.
 
2. 주석 해제

2.1 vi / vim 명령어를 통해 수정할 파일을 연다.
2.2 v 키를 눌러 visual 모드로 진입 후 방향키를 이용하여 주석 해제할 줄을 선택한다.
2.3 : 키를 누르고 norm 1x 를 입력한다.
 
1x 는 가장 앞 문자 1개를 없앤다는 의미입니다. 2x 를 입력하면 가장 앞 문자 2개를 없앤다는 뜻 입니다.

 

[출처] https://insight-bgh.tistory.com/430

반응형

댓글()

CFSSL 로 Kubernetes API 계정 생성하기

리눅스/PaaS|2024. 5. 14. 12:00
반응형

Kubernetes API 계정은 여러가지 방법으로 생성 가능하지만, 여기에서는 CFSSL 로 생성하는 방법을 다루었습니다.

 

 

1. CFSSL 설치

 

CFSSL 은 CloudFlare 에서 개발한 오픈 소스 도구로, 인증서와 인증 기관 (Certificate Authority, CA) 을 관리하기 위한 도구입니다.

CFSSL 명령 바이너리 파일을 다운로드 받습니다.

# CFSSL_VERSION="1.6.5"
# curl -L "https://github.com/cloudflare/cfssl/releases/download/v${CFSSL_VERSION}/cfssl_${CFSSL_VERSION}_linux_amd64" -o cfssl
# curl -L "https://github.com/cloudflare/cfssl/releases/download/v${CFSSL_VERSION}/cfssljson_${CFSSL_VERSION}_linux_amd64" -o cfssljson
# curl -L "https://github.com/cloudflare/cfssl/releases/download/v${CFSSL_VERSION}/cfssl-certinfo_${CFSSL_VERSION}_linux_amd64" -o cfssl-certinfo

 

파일에 실행권한을 주고 적절한 디렉토리로 이동 시킵니다.

# chmod +x cfssl*
# mv cfssl* /usr/local/bin/

 

설치된 CFSSL 버전을 확인합니다.

# cfssl version
Version: 1.6.5
Runtime: go1.22.0

 

 

2. 사용자 생성

 

공식 Document 참고 : https://kubernetes.io/docs/tasks/tls/managing-tls-in-a-cluster/

 

아래와 같이 Kubernetes API 에 접근할 계정 (sysdocu) 의 key 및 csr 파일을 생성합니다.

예제에서는 계정에 색상을 더했습니다. 다른 계정으로 사용할 분은 이름을 바꿔서 사용하시면 됩니다.

# openssl req -new -newkey rsa:4096 -nodes -keyout sysdocu.key -out sysdocu.csr -subj "/CN=sysdocu"

 

# cat <<EOF | kubectl apply -f -
apiVersion: certificates.k8s.io/v1
kind: CertificateSigningRequest
metadata:
  name: sysdocu
spec:
  groups:
  - system:authenticated
  request: $(cat sysdocu.csr | base64 | tr -d '\n')
  signerName: kubernetes.io/kube-apiserver-client
  usages:
    - client auth
EOF

 

CSR 을 생성하면 승인 대기 상태가 되므로, 아래와 같이 추가 명령으로 승인을 해주어야 합니다.
# kubectl certificate approve sysdocu

승인 (Approved) 은 되었는데, 발행 (Issued) 까지 되지 못한 경우에는 아래 작업을 계속 이어서 진행합니다.

# kubectl get csr
NAME      AGE    SIGNERNAME                            REQUESTOR   REQUESTEDDURATION   CONDITION
sysdocu   106m   kubernetes.io/kube-apiserver-client   admin       <none>              Approved

이제 CFSSL 을 이용하여 인증서를 발급받아야 합니다.

# cat <<EOF | cfssl gencert -initca - | cfssljson -bare ca
{
  "CN": "sysdocu",
  "key": {
    "algo": "rsa",
    "size": 4096
  }
}
EOF
2024/03/15 11:00:36 [INFO] generating a new CA key and certificate from CSR
2024/03/15 11:00:36 [INFO] generate received request
2024/03/15 11:00:36 [INFO] received CSR
2024/03/15 11:00:36 [INFO] generating key: rsa-4096
2024/03/15 11:00:37 [INFO] encoded CSR
2024/03/15 11:00:37 [INFO] signed certificate with serial number 540868796268120255911872831281879045817461391444

 

# vi server-signing-config.json

{
    "signing": {
        "default": {
            "usages": [
                "client auth"
            ],
            "expiry": "876000h",
            "ca_constraint": {
                "is_ca": false
            }
        }
    }
}

 

# kubectl get csr sysdocu -o jsonpath='{.spec.request}' | \
  base64 --decode | \
  cfssl sign -ca ca.pem -ca-key ca-key.pem -config server-signing-config.json - | \
  cfssljson -bare ca-signed-server
2024/03/15 11:02:49 [INFO] signed certificate with serial number 559793821146666936971756884293966902391849545829

 

인증서가 생성되었습니다.
# ls -al ca-signed-server.pem
-rw-r--r-- 1 root root 1172 Mar 15 11:02 ca-signed-server.pem

 

CSR 에 서명된 인증서를 입력합니다.
# kubectl get csr sysdocu -o json | \
  jq '.status.certificate = "'$(base64 ca-signed-server.pem | tr -d '\n')'"' | \
  kubectl replace --raw /apis/certificates.k8s.io/v1/certificatesigningrequests/sysdocu/status -f -

(결과 생략)


이제 CSR 에 인증서가 발행된 것을 확인할 수 있습니다.
# kubectl get csr -A
NAME      AGE    SIGNERNAME                            REQUESTOR   REQUESTEDDURATION   CONDITION
sysdocu   110m   kubernetes.io/kube-apiserver-client   admin       <none>              Approved,Issued

 

반응형

댓글()

K3S 설치 및 삭제, Worker node 추가 및 삭제

반응형

K3S 를 설치하고 삭제하는 방법과 노드가 부족하거나 여러대로 클러스터를 구성하기 위해 사용하는 방법입니다.

아래는 마스터 노드와 워커 노드에서 사용하는 명령을 정리하였으므로 잘 구분해서 실행하시기 바랍니다.

 

 

1. K3S 설치 

 

(마스터 노드에서)

# curl -sfL https://get.k3s.io | sh -s - --disable traefik --write-kubeconfig-mode 644

# export KUBECONFIG="/etc/rancher/k3s/k3s.yaml"

 

앞으로 SSH 접속시마다 자동으로 환경이 로드 되도록 하면 편리합니다.

# echo 'export KUBECONFIG="/etc/rancher/k3s/k3s.yaml"' >> ~/.bashrc

 

 

2. K3S 삭제

 

(마스터 노드에서)

자동 삭제 스크립트를 이용해 삭제 합니다.
# /usr/local/bin/k3s-uninstall.sh

삭제가 안된 부분이 있을 수 있으므로 수동으로 추가 삭제 명령을 내립니다.
# systemctl stop k3s

# systemctl disable k3s
# rm -rf /etc/rancher/k3s
# rm -rf /var/lib/rancher/k3s
# rm -f /usr/local/bin/k3s
# rm -f /usr/local/bin/kubectl
# rm -f /usr/local/bin/crictl
# rm -f /usr/local/bin/ctr

서비스를 제거 합니다.
# systemctl daemon-reload

 

 

3. Worker node 추가

 

(마스터 노드에서)

# cat /var/lib/rancher/k3s/server/node-token

 

(워커 노드에서)

# curl -sfL https://get.k3s.io| K3S_URL=https://<SERVER_IP>:6443 K3S_TOKEN=<TOKEN> sh -

여기에서 Master node 서버 IP 와 출력되었던 토큰을 대체 입력해야 합니다.

 

이제 추가 한 Worker node 가 연결된 것을 확인 할 수 있습니다.

# kubectl get nodes

 

 

4. Worker node 삭제

 

(워커 노드에서)
# systemctl stop k3s-agent
# systemctl disable k3s-agent
# /usr/local/bin/k3s-agent-uninstall.sh
# rm -rf /etc/rancher/k3s
# rm -rf /var/lib/rancher/k3s

 

(마스터 노드에서)
# kubectl delete node <NODE_NAME>

 

반응형

댓글()

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

리눅스/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, 수신자 CHAT_ID)

API_KEY="12345678:ABFNrluQnrwChMl1z-tA36w"
CHAT_ID="00112233"

# 로그인 정보 추출

USER=`whoami`
TTY=`tty | sed -e 's/\/dev\///'`
IP_ADDRESS=`who | grep "$TTY " | sed -e "s/.*(//" -e "s/)//"`
if ! echo "$IP_ADDRESS" | grep -q "."; then
    IP_ADDRESS="localhost"
fi

# 메시지 전송

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 가 포함되어 있어 누군가 확인할 우려가 있을 경우 쉘스크립트를 바이너리 파일로 변경할 수 있습니다.

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

shc 패키지 설치시 gcc 패키지도 필요합니다.

# apt -y install shc gcc

# 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

 

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

# rm -f /etc/alert_login.sh*

 

반응형

댓글()

리눅스 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 프로세스가 실행 중입니다."

 

반응형

댓글()