Linux

按設備自動登錄,然後按使用者登錄?

  • June 3, 2015

問題:有誰知道在不使用 su 的情況下執行“第二次”登錄的任何方法,或者在發出 su 命令後需要使用者輸入使用者名的使用 su 的方法?

情況:我們有多種類型的設備登錄到 Linux 伺服器。然後,使用者可以從菜單上的選項中進行選擇以執行。設備使用每個設備的不同帳戶自動登錄系統。我們這樣做的原因是將設備上要維護的設置帳戶的數量限制為每個設備一個。我們可以使用的 ssh 客戶端都將自動登錄名綁定到正在使用的設備帳戶(參見 Juice ssh on android 範例)。在每個應用程序上為每台設備維護 40 多個帳戶對我們來說成本太大。

目標:設備登錄後(主登錄)為使用者提供輔助登錄,允許他們輸入使用者 ID 和密碼。

我的第一個傾向是“su”,但“su”需要隨命令提供的使用者名,否則它預設為 root 帳戶。為了簡單起見,我盡量避免在發出諸如“su - $username”之類的命令來完成此操作之前編寫更多的 shell 程式碼來提示輸入使用者名。

自然地,他們登錄的任何應用程序都已經要求提供使用者名和密碼,但是下降到 shell 和其他自製功能依賴於登錄來提供身份驗證。

su - username如果使用者必須以任何方式輸入使用者名和密碼,那麼讓使用者輸入shell 有什麼關係?只需輸入 5 個額外字元 :)。

如果使用者不接受,而你又懶得不想再寫單個腳本,只需在伺服器上安裝telnettelnetd,並將以下別名放入/etc/bash.bashrc.

alias x='telnet localhost'

更新: 不要忘記限制遠端訪問 telnetd 埠 (tcp/23)。您可以設置防火牆 ( iptables) 或傳統的 TCP 包裝器 ( /etc/hosts.allow, /etc/hosts.deny- 請參閱 hosts_access(5) 手冊頁)。

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