Sshd

當使用者的登錄名沒有密碼時,為什麼 sshd 不關心使用者不擁有他們的主目錄?

  • May 17, 2017

我在一段時間內看到的最奇怪的行為:

我有:

使用密碼和 ssh 密鑰設置 Linux 使用者帳戶。

  • 當這個使用者擁有他們的主目錄時,他們可以使用 ssh 密鑰登錄。
  • 當這個使用者不擁有他們的主目錄時,sshd抱怨:
Authentication refused: bad ownership or modes for directory /path/to/home/user/
  • 當我刪除 Linux 帳戶密碼時:此使用者可以使用他們的 ssh 密鑰登錄,但不擁有他們的主目錄。

笏?為什麼sshd不再關心他們擁有自己的主目錄?

這比您描述的要復雜一些(並且您省略了許多重要的細節來完全回答這個問題)。但是原始碼是一個很好的起點:

  • 僅在執行公鑰認證時才發出失敗

  • 父目錄很重要,只有在

    • sshd可以stat()嗎_
    • 該目錄由登錄使用者擁有或root在 Linux 上(platform_sys_dir_uid()負責)
    • 該目錄不可被任何其他使用者寫入(只能為所有者設置寫入位)

這基本上符合你的前兩點,但不是第三點。你會改變或沒有註意到這一輪的其他事情。打開伺服器上的調試日誌並對其進行調查(或將其發佈到已編輯的問題中)。

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