SSH SFTP設定 先新增一個群組,提供給 sftp 使用者 $ sudo groupadd sftpusers 新增 sftp 的使用者 $ sudo useradd -g sftpusers -d /incoming -s /sbin/nologin [username] $ sudo passwd [username] 建立 sftpuser 的 root 目錄 /home/sftp/ $ sudo mkdir -p /home/sftp/[username]/incoming 將 incoming 的目錄權限設定給 user $ sudo chown [username]:sftpuse /home/sftp/[username]/incoming/ 確認一下是否有設定正確 $ ls -ld /home/sftp/arcsight/incoming/ 情境需求 限制使用者登入 限制 IP 位置 限制目錄位置 限制只能使用 SFTP $ ls -ld /home/sftp/<UserName>/ $ ls -ld /home/sftp/ #只允許特定使用者登入 AllowUsers arcsight root #只允許用10.
Github 有一個限制,就是當單檔案大於 100M 時,就會使用到 LFS 的儲存空建,並且上限是 5GB 我是窮苦人家,只能土法煉鋼自己架設 LFS Server Required 從 https://git-lfs.com/ 這裡下載並安裝 git-lfs
Gitea 我是在 TrueNAS Scale 上安裝 Gitea 的,至於安裝過程可以參考 Self Hosting Gitea On TrueNAS Scale With Working SSH Access
然而我覺得純粹充當 LFS Server 有點浪費,所以我覺得可以搭配異地備份的概念
讓 Gitea 定時從 Github 將專案抓回來,但指定 Gitea LFS 為 Gitea 和 Github 共同的位置
LFS 在 repo 底下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 # 初始化 git lfs install # 設定 Git LFS 位置 git config -f .
TrunNAS 系統升級之後,可能揮遭遇 Jail 版本的問題導致無法更新 Upgrade Jail Fetch 取得最新的 Jail 版本
1 2 3 4 5 6 7 8 $ iocage fetch [0] 11.2-RELEASE (EOL) [1] 11.3-RELEASE (EOL) [2] 11.4-RELEASE [3] 12.0-RELEASE (EOL) [4] 12.1-RELEASE [5] 12.2-RELEASE 停止 Jail 停止 Jail 準備進行更新
1 $ iocage stop <Jail Name> 升級 1 $ iocage upgrade -r 12.2-RELEASE <Jail Name> 進入 Jail 更新完畢後可以進入 Jail 進行確認
1 $ iocage console <Jail Name> Ref ixsystems - Jails
這陣子都忙著工作,堆積了一堆文章還沒釋出,看來過年期間是一段輸出文章的好時間 不過工作優先就是了,平常使用的 Macbook 更新 Big Sur 之後,就造成了 Terimnal 卡頓的問題 環境 Model: MacBook Pro (13-inch, 2019, Two Thunderbolt 3 ports) OS: Big Sur 11.1 Fix 執行完指令後,完全關閉 vscode 後,再啟動使用
貌似有些人無效,不過對我來說是有效的
1 codesign --remove-signature /Applications/Visual\ Studio\ Code.app/Contents/Frameworks/Code\ Helper\ \(Renderer\).app Ref Github vscode - Issues
初期買了 Yubikey 只有單純用來做 OTP,2FA 的認證,後來想到應該是可以透過 Yubikey 進行金鑰登入 後來網路上確實有人這樣進行,所以就趕快拿自己的 Yubikey 來測試看看 Info Terminal: iterm2 / zsh / oh-my-zsh Hardware Secure Key: YubiKey 5 NFC Require 先安裝一些 Yubikey 的相關套件,還有 GPGTools
libyubikey yubikey-personalization yubico-yubikey-manager yubico-yubikey-personalization-gui gpgtools 手動安裝 1 2 3 4 brew install libyubikey brew install yubikey-personalization brew install yubico-yubikey-manager brew install yubico-yubikey-personalization-gui 創建金鑰 安裝好上面的工具之後,將 Yubikey 插入 Macbook 開始進行操作
改變 Yubikey 模式 Yubico Blog - common modes 參照資訊
-m0 HID (OTP) mode -m1 CCID (OpenPGP only – no OTP) – warning – you cannot use ykpersonalize after this setting!
學習微服務框架是為了更了解各種架構對不同專案上的適應性 雖然並不是每個專案都適合為服務,但是也需要先熟練各種兵器好應對更種情況 介紹 go-micro 是一個使用 go 實現的微服務框架,可以方便幫助 go 進行微服務的開發
主要功能 服務發現 平衡負載 Client/Server Pub/Sub gRPC Require Install 安裝工具
1 2 3 4 go mod init . go get github.com/micro/micro/v2@v2.4.0 go get -u github.com/golang/protobuf/protoc-gen-go@v1.3.0 go get -u github.com/micro/protoc-gen-micro/v2@v2.3.0 mod version 這邊遇到了一些麻煩的狀況,各個版本的相依性很高,不同版本搭配可能造成錯誤
所以在這邊提供的以下的版本是確定可運行的
1 2 3 4 5 6 7 8 go 1.14 require ( github.com/golang/protobuf v1.4.2 github.com/micro/go-micro/v2 v2.9.1 github.com/micro/protoc-gen-micro/v2 v2.3.0 // indirect google.golang.org/grpc v1.26.0 ) Simple 我試著使用各種寫法來實現簡單的範例
使用 go-micro 進行服務發現,再透過 grpc 進行傳輸
是在了解微服務的同時,得知 Go 並且同時聽聞了 gRPC 所以現在來學習使用 gRPC,看看 gPRC 到底是哪裡特別 Require 首先需要安裝 gPRC 工具,撰寫好 gPRC 的 pb 文件之後,就能透過 protoc 轉換成 go 文件進行使用
1 2 go get -u google.golang.org/grpc go get -u github.com/golang/protobuf/protoc-gen-go 目錄 此次練習的目錄結構
. ├── go.mod ├── go.sum ├── proto │ └── hello.proto ├── rpc │ └── hello.pb.go ├── client │ └── main.go └── server └── main.go 撰寫 Proto 撰寫 proto 定義文件,此為官方文件 go - quickstart
proto3 及 proto2 的程式文法不同,所以版本注意
syntax = "proto3"; option go_package= ".
最近在寫一些純文字介面的工具,但是在操作上對非資訊人員還是不夠直覺 想知道怎麼開發類似於 BIOS 的文字操控介面,但是礙於不曉得相關的資訊 後來終於讓我查到關鍵字 Text-based user interface/TUI,然後選擇了一個看起來比較靠普的 Dialog Linux Dialog 是可以在 Terminal 上快速建立圖形交互介面的工具,功能十分強大、方便
撰寫 Shell Script 再搭配 Dialog 可以讓人比較直覺得操作,減少操作上的不便
雖然現在比較多使用網頁進行交互操作,但是可以不必特地架設網頁伺服器,減少一些不必要的問題
安裝 看起來 Dialog 是還有持續在維護,Mac 透過 brew 安裝的版本甚至是 20200327 的版本
可見還是有許多人喜愛以這種風格呈現操作介面
Mac 1 2 3 4 brew install dialog dialog --version > Version: 1.3-20200327 Ubuntu 18.04 1 2 3 4 apt-get install dialog dialog --version > Version 1.3-20171209 CentOS 6/7 1 2 3 4 yum install dialog dialog --version > Version 1.