Linux

在退出/斷開連接時更改主文件夾權限

  • May 15, 2016

我有一個案例,我的 linux 伺服器上的文件夾需要打開其權限,以便我可以使用 sudo 帳戶將文件從我的文件夾移動到共享文件夾。然後發生的情況通常是我不是註銷的人(ssh 連接斷開)並且我的主文件夾權限保持打開狀態。我不關心權限是否打開,除了當我嘗試 ssh 重新進入時,打開的文件夾權限會阻止我的密鑰身份驗證工作並且我被迫輸入密碼。

我想知道我是否可以設置一種方法,在退出(優雅或其他方式)ssh 會話時始終將我的權限設置為 700。或者,如果在我的主文件夾設置為 777 時有辦法使密鑰身份驗證工作,那也會有所幫助。

順便說一句,如果它有幫助,這就是我真正想要做的。我scp用來將本地建構.jar的文件從我的機器移動到 linux 伺服器上的主文件夾。然後我必須將它.jar從我的主文件夾移動到.jar可以執行的共享文件夾。要將其移動.jar到共享文件夾,我必須使用提供的sudo帳戶,但是,sudo除非我打開權限,否則該帳戶無法訪問我的主文件夾。

使用您評論中的資訊,解決方案似乎是解決潛在問題,而不是回答您實際提出的問題。

我使用 scp 將本地建構的 .jar 從我的機器移動到 linux 伺服器上的主文件夾。然後,我必須將該 .jar 從我的主文件夾移動到可以執行 .jar 的共享文件夾。要將 .jar 移動到共享文件夾,我必須使用提供的 sudo 帳戶,但是,除非我打開權限,否則該 sudo 帳戶無法訪問我的主文件夾。

正如您所注意到的,將主目錄的權限設置為0777阻止ssh工作。這是設計使然。相反,創建一個子目錄來包含您的jar文件並安全地放寬該目錄的權限。為您的主目錄添加對組和其他人的執行權限,以便您的sudo帳戶可以通過它訪問目標文件夾:

chmod 711 "$HOME"`
mkdir -m777 "$HOME/subdir"

在這一點上,考慮一個$HOME可能是的例子/home/serge。現在,雖然ls /home/serge您的帳戶因權限問題而失敗sudo,但它將能夠搜尋您的主目錄並進入子目錄ls /home/serge/subdir

如果您的sudo帳戶和您自己的帳戶有一個評論組 - 或者可以安排他們有一個共同的組 - 您可以放寬子目錄的組權限:

chmod 710 "$HOME"
chmod 770 "$HOME/subdir"
chgrp {whatever} "$HOME/subdir"

或者,將文件傳輸到/tmp(或/var/tmp)而不是您的主目錄並避免整個困難。

引用自:https://unix.stackexchange.com/questions/283319