延續<[Open-source tool] 如何配置FreeIPA的使用者登入認證(Authentication)和存取控制(Host-Based Access Control, HBAC)?> 一文,本文進一步以cockpit服務管理為案例,說明如何配置使用者Bob的授權(Authorization)功能,達到精確掌握使用者Bob對cockpit服務權限的效果,如同本文封面影片所示。
Learn & Share由H-Y Chou 和 Books and Pencil 共筆,藉由這個平台紀錄著實用工具和好書閱讀,同時也分享著教育學習與思維概念等等多元化的主題。
2026年2月28日 星期六
[Open-source tool] 如何利用FreeIPA的Sudo Rule配置授權(Authorization)功能?
延續<[Open-source tool] 如何配置FreeIPA的使用者登入認證(Authentication)和存取控制(Host-Based Access Control, HBAC)?> 一文,本文進一步以cockpit服務管理為案例,說明如何配置使用者Bob的授權(Authorization)功能,達到精確掌握使用者Bob對cockpit服務權限的效果,如同本文封面影片所示。
2026年2月20日 星期五
2026年2月15日 星期日
[Open-source tool] 如何配置FreeIPA的使用者登入認證(Authentication)和存取控制(Host-Based Access Control, HBAC)?
FreeIPA是一套身分識別和存取管理的開源軟體,主要核心功能包含認證 (Authentication)、授權控管 (Authorization)、目錄服務 (Directory Service)和憑證管理 (PKI),同時其主要應用於Linux作業系統平台,簡言之,其類似Linux作業系統的Microsoft Active Directory(AD)。對於預算有限但有資安需求的中小企業,可透過FreeIPA建立一套穩固和彈性的使用者控管中心系統,IT管理人員不再需要依序登入每台機器去新增特定帳號(如bob, tracy)。另外,當新進員工入職,僅需在FreeIPA控制介面設定,即可使全公司的特定主機能立即識別該使用者身分,相當適合中小企業提升運維效率。
本文主要著重在FreeIPA的認證 (Authentication)功能,其透過 Kerberos 協定實現單一登入(SSO),讓使用者只需一組帳號密碼即可登入到對應的客戶端,如同本文封面影片所示。
2026年1月29日 星期四
[Linux]NTP時間服務套件(chrony)的配置安裝與測試
2026年1月5日 星期一
[IT Network]如何配置反向路徑過濾器(rp_filter),以解決路由不對稱問題?
前陣子開始在樹莓派中安裝Rocky Linux OS,基於個人方便使用,一併部署Tailscale並建置Subnet Router,便於由外網連到樹莓派作業。經過一段時間使用,發現一個現象,當在同一個區域網路(LAN)內,電腦若啟動Tailscale往往無法透過內部區網IP直接SSH連線到樹莓派,同時也無法ping到內部區網IP。經查詢,才了解有一個反向路徑過濾(rp_filter)機制需要適當配置模式,Linux 核心才會依照模式處理封包和路徑。另外,Rocky Linux OS和Ubuntu的rp_filter預設值不同,所以之前ssh 連線到Ubuntu沒有發現該現象。
本文說明反向路徑過濾(rp_filter)的機制,以及如何透過調整Linux 核心的"反向路徑過濾(rp_filter)"配置,達到內部區網(不需啟動Tailscale)和外網(需啟動Tailscale)環境下,均能順利連線的效果。
2025年12月14日 星期日
[Linux]用瀏覽器就能管理伺服器_Cockpit套件
在雲端與邊緣運算盛行的今天,Linux 伺服器已成為企業 IT 架構與個人專案的核心。然而,對許多系統(新手)管理者來說,繁瑣的指令列操作、零碎的監控工具與分散的設定流程,往往讓伺服器管理變得複雜又耗時。
本文以 Ubuntu 與 Rocky Linux 搭配樹莓派5為實作環境,完整介紹一套免額外學習成本、直接用瀏覽器管理伺服器的工具_Cockpit套件, 包含功能、安裝方式與使用者操作介面,使新手管理者可藉由cockpit套件,快速掌握伺服器的運維狀態。
2025年11月30日 星期日
[IT Network]如何在cisco packet tracer建立ssh的連線?
SSH和Telnet的差異
1.ssh和telnet是CLI遠端常用的方式,主要利用網路(乙太網路線和wifi)作為傳輸介質。
2.相較於telnet,ssh是相對安全的連線方式。
事前工作:
1.假設交換譏為新設備,同時須準備一條console線(兩端接頭分別為USB和RJ45接頭)
2.將USB接頭接在PC端,將RJ45接頭接在cisco的console接孔。
3.以ssh連線需求,進行下列設定。
2025年10月1日 星期三
[Automation-tool]如何自建MCP server並串接到本地端的n8n工作流中?
在當今由大型語言模型(LLM)驅動知識和工具的時代,如何讓LLM能夠有效地結合外部工具和API溝通,成為了自動化流程中的關鍵一環。n8n作為一個強大的開源工作流自動化平台,提供了無限的可能性,只待創作者的創意和想像力了。有別於利用n8n中的MCP Server節點(MCP Server Trigger node )來串接應用服務,本文主要說明如何透過python搭配uv自建一個輕量級的MCP Server,使其串接和風天氣(qweather)應用服務,同時藉由n8n AI agent工作流中的MCP Client節點(MCP Client Tool node)來調用該自建的MCP Server,等同為本地端n8n開了外掛(Plugin),賦予工作流中的AI Agent根據使用者提問自行判斷是否調用外部工具的能力,如本文影片所演示。
2025年9月11日 星期四
[Open-source tool] 如何利用 docker compose 安裝 Superset 並連接MySQL的Sakila資料庫?
Apache Superset 是一款 Apache 基金會的開源資料視覺化與商業智慧(Business Intelligence, BI)平台。其設計目標是提供一個輕量級、可擴展、易於部署的資料探索與儀表板工具,讓使用者能透過簡單直觀的操作來分析與呈現各種數據。其核心是基於 Python 與 Flask Web 框架構建,並支援連接各種 SQL 資料庫,如 MySQL、PostgreSQL、Oracle、SQLite、Snowflake、BigQuery 等。前端則採用 React.js 與 Apache ECharts 進行互動式圖表與儀表板渲染,提供高度可自訂的視覺化能力。另外,其能與 Docker、Kubernetes 等容器化平台整合,具備水平擴展能力,方便企業在既有基礎架構中導入。
2025年6月30日 星期一
[Python]如何用uv套件建置python專案與虛擬環境?
認識到python的uv套件得由當初學習Cline的MCP服務端(server)配置說起。Cline是一款VSCode的插件,可視為MCP客戶端(client),同時可讓開發者快速且方便地在VSCode環境中配置MCP server,並藉由與AI大語言模型搭配來訪問各款MCP server,以完成開發者的需求。若要體驗和進一步了解MCP的功效,Cline是一款快速上手的入門插件,使用方式可參考官網資料。
2025年6月16日 星期一
[Automation-tool]如何整合ngrok免費靜態網域和n8n工作流來建置AI LINE Bot?
2025年5月18日 星期日
[Linux]申請一個Ngrok的免費網域作為webhook使用
2025年4月14日 星期一
[Linux]如何設置靜態IP位址?
自從將Ubuntu Server 24.04 LTS作業系統建置在VM上後,逐漸導入一些容器和微服務器並使可由其他Client端來連接使用,其中包含AIGC模型和自動化工作流等服務,例如Open-WebUI和n8n。然而,若VM重新開機或路由器因故斷電等等狀態,區網IP位址可能因DHCP機制而變動,進而導致上述容器和微服務器的連結位址也隨著變動,設置靜態IP位址應該是一勞永逸的方式。
2025年3月21日 星期五
[Raspberry Pi]如何將無頭虛擬顯示器服務(headless display)建置在樹莓派的Ubuntu桌面作業系統中?
2025年2月28日 星期五
[Linux]如何配置mailutils郵件服務?
在自動化運維工作中,利用工具主動發出事務處理結果的mail是一項必備工作,例如資料庫的自動備份工作是否已順利完成,某個微服務重新啟動原因的log日誌等等。而在配置郵件工具中,相較於之前使用的mailx,這次使用的mailutils較為完整,除了內建了完整的 POP3 和 IMAP收信功能,其也內建 SMTP 發信功能,包含自動配置Postfix(內建MTA),配置過程簡化許多。(OS: 說到底就是解決一個重要症狀,"懶")
2024年12月29日 星期日
[Raspberry Pi]如何將看門狗(WatchDog)服務建置在樹莓派的Ubuntu作業系統中?

看門狗(WatchDog)服務常應用於連網的嵌入式邊緣設備等IOT裝置和實體伺服器,主要是若這些連網裝置分散在各個應用環境中執行對應任務,例如感測物理數據,監控影像數據或執行各式Docker服務,當連網裝置因故異常,同時又處於無人值守而無法手動重啟的狀態下,此時看門狗(WatchDog)服務可根據設定條件,協助連網裝置自動重啟並恢復到執行對應任務的狀態。
看門狗(WatchDog)的運作原理是一個計時器(timer),若連網裝置的系統運行符合設定條件,即表示系統運行正常,守護程序則定期復位該計時器,使系統持續運作不重啟,俗稱"餵狗";反之,若系統運作不正常而超時,則系統重啟。另外,看門狗服務分為軟體式和硬體式,相較於軟體式看門狗,硬體式看門狗指的是有一個獨立硬體模組嵌入在裝置的晶片中,實現當系統完全死當時,也可自動重啟的功能。本文將利用樹莓派已具備看門狗硬體模組,在Ubuntu作業系統中設定和運行看門狗(WatchDog)服務。
2024年12月15日 星期日
[Python]如何利用Flask搭建一個Web服務器,並透過Ngrok訪問來實現LINE Bot功能?
Flask 是一個輕量級的Web框架,主要用於建立基於Python的Web應用和API。它可搭建webhook本地服務器,同時提供靈活的URL路由和HTTP請求處理方式,允許開發者快速啟動並測試應用功能。由於其結構簡單,開發者常用其作為建立和測試 MVP(最小可行性產品),同時其也非常適合新手作為入門學習Web開發的工具之一。
本文利用樹莓派4B搭建Flask和Ngrok來實現簡易的LINE Bot功能,其中Ngrok的安裝和建置可參考此篇文章,本篇主要著重在Flask環境建置和程式碼的部分。
2024年11月17日 星期日
[Linux]如何利用docker運行Ngrok,並使本地服務可以由外網訪問?
Ngrok 是一款輕量、功能強大的反向代理工具,可快速且安全地將本機開發環境暴露於公網。它主要透過建立安全隧道(tunnel),讓外部使用者或服務能夠存取本地的 HTTP、HTTPS 或 TCP 應用,而無需進行複雜的網路設定(如port映射設定,或防火牆規則設置),因此其相當適合用於測試需要外網訪問剛開發好的本地端程式。兩個常見的使用情境如下:
2024年9月9日 星期一
[Linux]如何將腳本(shell script)轉換到系統管理服務器(systemd service)來運行?
在Linux中,shell腳本(shell script)常用於運行各種自動化的流程,包含API串接,設置和啟動應用服務等等,腳本語法也相對易學易讀,因此頗受大部分使用者的喜愛。但若需要讓shell腳本能長期穩定運行,則建議將shell腳本轉換到系統管理服務器(systemd service)來運行,將有下列幾個優點,使得該服務的運作可有效被systemd管理。
2.服務異常退出後,可自動重啟。
3.透過journalctl集中管理該服務的日誌(log),可用於問題測試和偵錯。
上述影片即是一個實際案例,其利用shell腳本將樹莓派的溫度和電壓數值以固定週期傳到influxdb中,同時若溫度過高或電壓過低,則會藉由line notify發出提醒訊息,期望藉由該服務長期監控樹莓派的運作是否穩定,若有異常進程導致溫度過高或電壓過低,則可立刻查閱日誌並及時處理。話不多說,一起來看看如何將該shell腳本轉換到systemd service中。
2024年8月18日 星期日
[SQL]如何利用docker安裝SQLitebrowser,並解決中文數據亂碼問題?
SQLitebrowser是一個輕量級、嵌入式的SQL資料庫引擎,有別於MySQL等等中大型資料庫,其不需要一個獨立的伺服器程序或作業系統,而是可將所有資料、配置和索引都儲存在單一檔案(.sqlite),易於嵌入到應用程式中使用,很適合在嵌入式裝置和移動應用程式中使用,通訊軟體 微信的資料庫即是使用SQLite。
近期因在ubuntu server中架設一些應用服務,其中有些應用服務採用SQLite作為資料庫,為了查看SQLite中的數據,除了可在終端機安裝sqlite3並直接以命令指令調閱數據之外,尚可利用瀏覽器來查看,其中利用docker安裝SQLitebrowser即是一個可利用瀏覽器查看數據的方式。





