顯示具有 redhat 標籤的文章。 顯示所有文章
顯示具有 redhat 標籤的文章。 顯示所有文章

2023年10月17日 星期二

Linux主機閒置自動登出

Linux主機閒置自動登出 

設定Linux 主機在一定時間未操作時,自動登出系統。Redhat官網How to keep TCP sessions alive for extended periods of time? ,可以shellsshftp等項目設定自動斷線。

Bash Shell timeout基本設定

檢查是否有設定timeout時間
# export | grep TMOUT

一次性設定 ( 10分鐘自動登出 )
# export TMOUT=600

固定性更改  ( 10分鐘自動登出 )
對於特定使用者,在 $HOME/.bashrc 進行設定。
# echo "TMOUT=600" >> ~/.bashrc

對於所有用戶,在 /etc/bashrc 設定。
# echo "TMOUT=600" >> /etc/bashrc

增加檔案
# vi /etc/profile.d/auto-logout.sh
---
#!/bin/bash
#Auto-logout in 600 seconds if the session is idle
export TMOUT=600
readonly TMOUT
---

# chmod +x /etc/profile.d/auto-logout.sh
# source /etc/profil
readonly 設定變數和函數為只有讀取權限。
使用者將無法變更名為 TMOUT 的變數的值。

Openssh 伺服器設定自動登出

Openssh 伺服器自動登出參考官網Which options can be used to configure ssh's timeout?

新增 ClientAliveInterval和ClientAliveCountMax到/etc/ssh/sshd_config檔案
ClientAliveCountMax:使用者活動訊息的統計次數。
ClientAliveInterval:等待使用者輸入的逾時時間。

伺服器每25秒發送訊息給用戶端,當沒有收到任何回應,累計2次後終止連線。所以是50秒沒有任何輸入自動斷線。
---
        ClientAliveInterval 25
        ClientAliveCountMax 2
---

使用者2分鐘無使用動作,自動中斷使用者連線。
---
        ClientAliveInterval 2m
        ClientAliveCountMax 0
---
正常設定 ClientAliveCountMax 0 是禁止伺服器發送活動訊息及使設定用者輸入的逾時時間 ClientAliveInterval 是可以實現。
但RHEL 8.6 和 RHEL9 中的設定ClientAliveCountMax 0會導致不同的行為,參考官網SSH server no longer terminate inactive sessions when setting ClientAliveCountMax=0,所以建議設定ClientAliveCountMax=1。


參考資料: 
How to keep TCP sessions alive for extended periods of time?
https://access.redhat.com/solutions/23874
Which options can be used to configure ssh's timeout?
https://access.redhat.com/solutions/25773
SSH server no longer terminate inactive sessions when setting ClientAliveCountMax=0
https://access.redhat.com/solutions/6962538
Linux / UNIX Automatically Logout BASH / TCSH / SSH Users After a Period of Inactivity
https://www.cyberciti.biz/faq/linux-unix-login-bash-shell-force-time-outs/

2023年7月4日 星期二

Red Hat Linux 9 /Rocky Linux 9 use kickstart autoinstall

Red Hat Linux 9 /Rocky Linux 9 use kickstart autoinstall


使用kickstart製作專屬的Red Hat Linux/Rocky Linux/Alma Linux 自動化安裝 ISO,可以自行定義各項設定,安裝過程不需要再設定。

測試環境

VMware esxi 7.0u2
Rocky-9.1-x86_64-dvd.iso

建立ISO過程適用Red Hat Linux/Rocky Linux/Alma Linux,使用Rocky Linux 9.1示範

ISO制作流程

1.在主機中使用wget直接下載 Rocky-9.1-x86_64-dvd.iso,並掛載/mnt

# cd /tmp
# wget https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.1-x86_64-dvd.iso
# mount -o loop /tmp/Rocky-9.1-x86_64-dvd.iso /mnt
下載iso,掛載至/mnt











2.將 DVD iso 解壓至/tmp/rocky9
# mkdir /tmp/rocky9
# tar cf - -C /mnt . | tar xf - -C /tmp/rocky9
將 DVD iso 解壓至/tmp/rocky9








3.產生kickstart文件,存放為/tmp/rocky9/ks.cfg
有幾個方法可以取得
a.直裝新安裝一台Rocky Linux,在/root/anaconda-ks.cfg就是安裝過程各項定義,更改為ks.cfg直接使用
b.可以在redhat網站access.redhat.com/labs/kickstartconfig/ 自行生成
c.直接下載ks.cfg , 可以修改設定使用
產生kickstart文件,存放為/tmp/rocky9/ks.cfg













4.開機選項新增kickstart啟動項目(BIOS)
# vim /tmp/rocky9/isolinux/isolinux.cfg
開機選項增加kickstart選項

增加 lable kickstart 項目,指定使用ks.cfg
開機選項增加kickstart選項01











5.開機選項新增kickstart啟動項目(UEFI)
# vim /tmp/rocky9/EFI/BOOT/grub.cfg
UEFI開機選項增加kickstart選項01









增加 lable kickstart 項目,指定使用ks.cfg
UEFI開機選項增加kickstart選項02










6.製作ISO
# mkisofs -o /tmp/rocky9m.iso -b isolinux/isolinux.bin -J -R -l -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -eltorito-alt-boot -e images/efiboot.img -no-emul-boot -graft-points -joliet-long -V "Rocky-9-1-x86_64-dvd" .
製作ISO01











製作ISO02








# isohybrid --uefi /tmp/rocky9m.iso
isohybrid檢查




# implantisomd5 /tmp/rocky9m.iso
implantisomd5產出






製作ISO前,先安裝相關工具
# dnf install syslinux isomd5sum xorriso
dnf 工具







8.產出ISO檔,可以在vm環境測試




參考資料