Bash
為什麼在 tmux 會話中不考慮使用者權限修改?
我正在通過 SSH 連接到一個 debian 伺服器,為了避免同時有多個連接,我使用了 tmux。
我更改了目錄(此處為
/opt/syncserver
)的權限,並將所有者設置為組和使用者www-data
。該目錄的權限等價於770
inchmod
,表示rwxrwx---
(對所有者和組的讀/寫/執行)。然後我將主要使用者(我們將
user1
在此處呼叫)添加到組www-data
中,因為他以前不在其中。然後我嘗試 cd 進入新修改的目錄,但沒有成功(Permission denied
錯誤)。在同一個 tmux 會話中創建一個新的 shell 也不能解決問題(請參閱此問題的可能副本)。
我嘗試啟動另一個 SSH 會話,仍然使用相同的使用者,並且進入目錄沒有問題。
在 tmux 會話中創建的新 shell 如何不考慮權限的修改?有沒有辦法解決這個問題,還是我完全弄錯了,一開始做錯了什麼?
創建一個新的 tmux 會話(另一個仍然連接)也不能解決問題。我想完全重新啟動 tmux 應該可以解決問題,但我想避免這種情況並知道為什麼會發生這種情況。
在 tmux 會話中創建的新 shell 如何不考慮權限的修改?
與程序關聯的 uid、gid 和補充組僅在登錄時重置。在 tmux 會話中創建的新 shell 不是新登錄,它們只是 tmux 程序的新子程序。
要更新您的組成員資格,您必須重新登錄,或使用一組非常小的命令(
newgrp
、tmux 等已執行程序的憑據)。su``sudo