↓ 快轉到主要內容

The Death of the Junior Dev? How AI is Changing the Game

·932 字·2 分鐘·
PolloChang
作者
PolloChang
我是一隻雞

在 Linux 上與 AI Agent 獨立帳號協作,最理想的做法是建立一個共享的工作目錄,並利用「共享群組(Group)」搭配「SGID(Set Group ID)」與「POSIX ACL」,讓你們雙方建立的檔案都能自動繼承群組讀寫權限,避免互相卡權限。

同時,AI Agent 的帳號必須嚴格限制權限,避免指令誤操作影響系統。以下是具體的配置方式:

1. 建立共享群組與帳號設定
#

假設你的個人帳號是 user,AI Agent 的帳號是 gemini。

建立一個協作專用的群組(例如 developers),並將雙方都加入該群組:

1
2
3
4
5
6
# 建立群組
sudo groupadd developers

# 將你的帳號與 AI Agent 帳號加入該群組
sudo usermod -aG developers user
sudo usermod -aG developers gemini

注意:修改群組後,已登入的 session 需要重新登入或執行 newgrp developers 才會生效。

2. 建立協作目錄並設定 SGID
#

建立專屬工作目錄(例如 /workspace/projects),並啟用 SGID:

1
2
3
4
5
6
7
8
9
# 建立目錄
sudo mkdir -p /workspace/projects

# 將擁有者設為你的帳號,群組設為 developers
sudo chown user:developers /workspace/projects

# 設定權限:擁有者與群組皆可讀寫執行,其他使用者無權限
# 設定 SGID (2770),確保此目錄下新建立的檔案/子目錄都會自動繼承 developers 群組
sudo chmod 2770 /workspace/projects

3. 設定 Default ACL(解決預設 umask 問題)
#

SGID 只能保證新檔案的「群組名稱」繼承,但若 AI Agent 或你的系統預設 umask 是 022,新檔案的群組可能只會有唯讀權限(644)。透過 POSIX ACL 設定預設權限,能確保任何一方新增的檔案都自動具備群組寫入權限:

1
2
3
4
5
6
# 安裝 ACL 工具(Debian 通常預設具備,若無可安裝)
sudo apt-get install -y acl

# 設定預設 ACL:群組與指定帳號自動取得 rwx 權限
sudo setfacl -d -m g:developers:rwx /workspace/projects
sudo setfacl -m g:developers:rwx /workspace/projects

檢查設定是否成功:

1
getfacl /workspace/projects

看到 default:group:developers:rwx 即代表未來不論誰在裡面 touch 檔案或建立目錄,對方都能直接編輯。

4. AI Agent 帳號的安全防護
#

為了避免 AI Agent 具備過大權限,需進行以下防護:

  • 隔離 Home 目錄:確保你的個人目錄(/home/user)權限為 700 或 750,避免 AI Agent 讀取你的 SSH key 或私密設定:
1
chmod 700 /home/user
  • 禁止或嚴格限制 sudo:不要將 gemini 加入 sudo 群組。若 AI Agent 需要重啟某些特定服務,應在 /etc/sudoers.d/gemini 中精確指定指令,並限制不需密碼:
1
2
# 範例:僅允許重啟特定 systemd 服務
gemini ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart my-app
  • 鎖定系統關鍵目錄:AI Agent 僅需對 /workspace/projects 有寫入權,其他系統目錄(如 /etc、/usr)維持 Linux 預設唯讀即可。

這套架構既能讓你們在同個目錄順暢共編檔案、跑測試,也能確保個人主目錄與主機系統安全。