2024年8月27日 星期二

dnsmasq dhcp-script 設定摘要

dnsmasq.conf 設定
dhcp-script=/tmp/rule.sh

/tmp/rule.sh 內容
#!/bin/sh

cmd="$1"
mac="$2"
ip="$3"
hostname="$4"

set >/tmp/rule.txt
echo $cmd $mac $ip $hostname >>/tmp/rule.txt

pi 400 as keyboard

編輯/boot/config.txt 添加
dtoverlay=dwc2
sudo modprobe libcomposite

編譯
sudo apt install libconfig-dev git cmake
git clone https://github.com/Gadgetoid/pi400kb
cd pi400kb
git submodule update --init
mkdir build
cd build
cmake ..
make

執行 
sudo modprobe libcomposite
sudo ./pi400kb 

Ctrl + Raspberry 本機使用和 USB 間切換
Ctrl + Shift + Raspberry 退出


Debian 12 開啟 serial port console

 systemctl start serial-getty@ttyS0.service

The following signatures were invalid: EXPKEYSIG B188E2B695BD4743 DEB.SURY.ORG Automatic Signing Key

 apt-key adv --fetch-keys https://packages.sury.org/php/apt.gpg

2024年8月8日 星期四

Linux 密碼相關 PAM及設定

PAM 相關模組
pam_pwquality 密碼品質檢查
pam_faillock 封鎖、解鎖登入失敗帳號
pam_pwhistory 密碼歷史記錄

相關檔案
/etc/login.defs 設定密碼使用期限

Debian 12 pam_faillock.so 設定

 編輯 /etc/pam.d/common-auth
# faillock
auth    requisite                       pam_faillock.so preauth
auth    [success=1 default=ignore]      pam_unix.so nullok
# faillock
auth    [default=die]                   pam_faillock.so authfail
auth    sufficient                      pam_faillock.so authsucc
auth    requisite                       pam_deny.so
auth    required                        pam_permit.so
auth    optional                        pam_cap.so

編輯 /etc/pam.d/common-account
account [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so
account requisite                       pam_deny.so
account required                        pam_permit.so
# faillock
account required      pam_faillock.so

編輯 /etc/security/faillock.conf
# 登入失敗記錄儲存位置
dir = /var/run/faillock

# 記錄不存在帳號
audit

# 不輸出訊息
silent

# syslog 不記錄
no_log_info

# 只追蹤本機使用者
local_users_only

# 若 180 秒內連續 5 次登入失敗,則封鎖帳號
deny = 5
fail_interval = 180

# 帳號封鎖後,900 秒才開放
unlock_time = 900

#  root 納入監控對象
even_deny_root

# root 封鎖後, 900 秒才開放
root_unlock_time = 900

# 管理者群組(成員視同 root 帳號)
admin_group = adm

相關指令-查詢認證失敗的記錄
faillock
faillock --user user --reset