如何使用我的登入密碼做兩件事

如何使用我的登入密碼做兩件事

我有一個定期安裝的 CIFS 驅動器,它需要密碼。由於每次都輸入密碼很煩人,因此我編寫了一個腳本來設定 PASSWD 環境變量,安裝驅動器,然後清除它(CIFS 在詢問之前檢查 PASSWD 環境變量)。

它有效,並且帶有我的密碼的腳本位於加密分割區上,但我不喜歡它。

我想做的是,由於我的盒子和遠端磁碟機具有相同的純文字密碼,因此登入管理員也使用我輸入的密碼來嘗試安裝磁碟機。這樣我的密碼就不會以純文字寫在我的電腦上,但我可以避免必須回答另一個密碼。

歡迎提出改進 CIFS 安裝登入的其他建議,請記住,我沒有託管磁碟機的伺服器的 root 存取權。

編輯:

我必須澄清一些事情:

  • 我有客戶端(我的盒子)的根訪問權限,但我無權訪問伺服器。所以所有的解決方案都必須是客戶端的。

  • 我擔心的是,為任何能夠實際訪問我的筆記型電腦的人提供我的密碼的純文字副本。目前我的 /home 分割區已加密,因此當筆記型電腦關閉時我的腳本相當安全。

這就是為什麼我想要一個解決方案(如果可能的話),它利用我正在輸入這些確切的憑證來登入我的使用者帳戶。

答案1

我通常將該automount服務用於類似這樣的共享,我會定期安裝和使用這些共享。一旦您了解如何進行設置,就相當簡單了。

步驟#1 - 設定自動掛載

您需要確保已安裝軟體包。在 CentOS 6 上,這將是autofs.其他發行版很可能會使用類似的名稱。然後您需要建立以下文件:

# /etc/auto.master
/mymountpt          /etc/auto.mymountpt --timeout=600 --ghost

# /etc/auto.mymountpt
someshare                  -fstype=cifs,rw,noperm,netbiosname=${HOST},credentials=/etc/credentials.txt ://cifsserver/sharename

# /etc/credentials.txt
username=mydom\myuser
password=somepassword

您需要像這樣設定最後一個檔案的權限:

$ sudo chmod 600 /etc/credentials.txt

您還需要確保 NSS(名稱服務交換器)了解此設定:

# /etc/nsswitch.conf
automount:  files nisplus

這些文件就位後,您現在應該可以啟動該autofs服務了。

$ sudo service autofs start

步驟#2 - 測試一下

服務啟動後,您將可以隨意存取此路徑:

$ cd /mymountpt/someshare

現在,此共享的掛載由autofs它將監視 600 秒的不活動狀態,此時它將卸載該共享。

這種方法可能看起來有點嚴厲,但透過這種方式,您可以減輕系統對啟動時可用的特定 CIFS 共享的依賴。您已經移動了它,以便在實際使用時按需使用它。

如果沒有 root 登入權限怎麼辦?

如果您發現沒有安裝這些軟體包並且無法安裝它們,那麼您的選擇就會少得多。

我會看一下ArchLinux Wiki 中的 Samba 文章,它還涵蓋其他方法。您也可以利用 FUSE 將各種類型的媒體安裝為本機目錄,包括 SMB/CIFS。這包含在Ubuntu Wiki 上的 FUSESmb 文章

參考

相關內容