禁用終端訪問但保留 FTP
我正在使用樹莓派 pi3 和 VSFTPD 通過 FTP 共享目錄,這允許相機連接到它並傳輸照片。
我還創建了一個簡單的使用者和密碼並對目錄進行了 chroot,因此如果使用 FileZilla 或任何其他工具,則在專用文件夾之外沒有文件瀏覽。
問題是,如果我通過終端(顯示器、鍵盤等,沒有 ssh)登錄,使用該使用者,我可以自由地去任何我想去的地方,有沒有辦法防止這種情況發生?
我已經嘗試過:usermod –expiredate 1
passwd -l
usermod -s /sbin/nologin但這會使該帳戶無法使用。
如果我搜尋 jail/chroot 終端使用者,則只有“ssh”結果。
任何幫助將不勝感激。
編輯
通過帳戶不可用,我的意思是,它禁用通過終端登錄(這是我想要的),但它也阻止通過 FTP 連接。
編輯 2
關鍵是禁用除 FTP 文件夾之外的 1 個使用者的所有內容,我不需要,也不希望該使用者做任何事情。
只有 FTP,沒有其他協議,我需要針對所有/大多數 wi-fi 攝影機,而 FTP 是要走的路。
SFTP 和 SSH 被禁用。
如果您想禁用特定使用者的SSH(包括
scp
& )登錄,您可以簡單地添加並重新啟動守護程序。sftp``DenyUsers <name of the ftp-only user>``/etc/ssh/sshd_config``sshd
它將保留使用僅 FTP 帳戶在本地登錄的可能性,但如果系統位於安全位置,這實際上可能有助於解決 FTP 傳輸故障。
創建僅限 FTP 的使用者帳戶的傳統方法是將使用者的 shell 設置為
/sbin/nologin
、/bin/false
或任何不允許輸入和立即退出的類似程序,但還要將該程序列在/etc/shells
.密碼檢查後由 FTP 守護程序完成的經典檢查是“此使用者是否有一個列在 ? 中的 shell
/etc/shells
?”。在現代系統上,這可以通過 PAM 配置而不是 FTP 守護程序本身來實現。通過為使用者配置一個有效的“do-nothing”shell(= 列在 中
/etc/shells
),該帳戶對於 FTP 使用是有效的,但是任何需要執行 shell 的使用都將失敗,因為“do-nothing”程序是執行而不是任何真正的 shell,它只會退出而不接受使用者的任何輸入。注意:如果系統有任何其他網路服務正在使用系統密碼數據庫,並且不是基於執行 shell(例如 IMAP 或 POP3 郵件伺服器),那麼您可能必須將這些服務配置為也明確拒絕“僅 FTP”使用者。