[VPS] Ubuntu 主機建立網站伺服器管理人員的流程

本篇文章更新時間:2020/10/01
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知。
一介資男的 LINE 社群開站囉!歡迎入群聊聊~


網站與伺服器建立後會有很多管理的情境,像是純粹使用網站不動用到主機的站務人員,或者是有修改伺服器端檔案需求的開發人員。

這些角色建立各有其方法與應用情境,不是照套用什麼文章或是功能就好。會需要謹慎評估管理需求,不要造成管理上的負擔,那就本末倒置了!

本篇應用的情境設定為「有 SSH/SFTP 登入權限,但不想開放除網站資料管理外權限」的管理人員。

正文開始前先引用相關內容,建立對主機權限管理的概念:

  1. 無限期推動網頁服務目錄權限勿設777
  2. [WordPress] 網站檔案權限修復的正確方法
  3. [Linux] SSH 服務設定沒有 Shell 指令權限的 SFTP 檔案傳輸模式

過去嚴格管理的條件下,我會使用 Docker 開設獨立連線方法,讓使用者於容器內改變 Host 的指定檔案,算是共享特定目錄的方式。這塊開源於 GitHub 上: docker_ssh_access_control 有興趣研究可以看看~ (這專案也開超過五年了...汗)

今天要紀錄的基礎操作比較簡單,只是遵守權限的設計而已!

流程

  1. 創建用戶

    adduser mxp

  2. 將用戶加入 www 群組(這邊假設伺服器建立所屬群組是 www

    sudo usermod -a -G www mxp

  3. 登入用戶帳戶,在使用者目錄下,建立超連結( 確保超連結權限,沒切換登入用戶建立的超連結會有權限問題,要改請參考:How to change ownership from symbolic links?

    ln -s /path/to/www/example.com example.com

  4. 切換系統管理員帳號,變更超連結對象目錄(網站目錄)的修改權限

    find /path/to/www/example.com -type d -exec chmod 775 {} \;
    find /path/to/www/example.com -type f -exec chmod 664 {} \;
    或是更簡單的:
    chmod g+w /path/to/www/example.com -R

四個步驟做完,就算是完成了!新建立的管理人員用戶如果還在登入狀態的話可以先登出後再登入測試。

如此一來,這個新建立的管理人員帳號雖也是系統人員,但對於系統的管理侵害風險可以減少一些。

通常會這樣建立的使用者,我個人會判斷對於作業系統有一定認知與管理經驗,再來當然是他可能本身對這專案有其他重要角色與責任。

管理是為了讓協作間的彼此有作業彈性與減少作業難度,所以出發點是綜合的,每個人或團隊的應用情境不同,選擇自然不同囉~ 會到這部分作業系統細節,也是比較少見了,冷門需求,討論都很針對,較無通解XD


Share:

作者: Chun

資訊愛好人士。主張「人人都該為了偷懶而進步」。期許自己成為斜槓到變進度條 100% 的年輕人。[//////////____30%_________]

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *