Linux
我們的 Ubuntu 伺服器中應該有很多 shell 嗎?
我的虛擬機中有這些外殼
# /etc/shells: valid login shells /bin/sh /bin/bash /bin/rbash /bin/dash /usr/bin/tmux /usr/bin/screen /bin/zsh /usr/bin/zsh
這是一件好事嗎?我應該安全地移除這些額外的外殼嗎?
我想我只使用
bash
它們是否會自動隨 Ubuntu 一起提供?
一般來說,這是一個很好的shell數量。
dash
是預設的/bin/sh
實現,bash
是預設的互動式 shell,它們一起佔了前四項。zsh
是一個有很多功能的普通使用者shell,很多有經驗的使用者都可能會使用它。
tmux
並且screen
是終端多路復用器,允許使用者在多個終端視窗之間切換。它們非常常用,並且被列出是/etc/shells
因為有些人將它們設置為他們的 shell,所以它們總是在登錄時啟動。擁有這些功能的唯一
/etc/shells
作用是允許使用者將它們設置為他們的登錄 shell(如果已安裝)。所有這些都是常用的,並且對於普通使用者來說是安全的。如果您對軟體包有安全顧慮,您可以刪除它們(forzsh
、tmux
和screen
),這將阻止人們使用它們。dash
並且bash
被認為是必不可少的,如果您嘗試刪除它們,您將破壞您的系統。我認為自己非常有安全意識,我的系統上有所有這些程序,我毫不擔心,我為我的工作管理的系統也有所有這些。只要您定期應用安全更新,就應該沒有問題。