2012-10-17 186 views
2

我使用bash shell創建了一個用戶名 - 這是一個包含所有命令的普通shell - 但我打算將此shell用於備份服務,該服務只允許使用rsync命令。因此,我試圖限制這個shell只執行rsync命令。我怎麼能這樣做.bash_profile.bashrc限制shell命令

附加信息:該shell僅用於備份文件和文件夾。我使用ssh鍵將另一個外殼連接到rsync

+0

shell如何被訪問?例如,如果是通過ssh,可以使用'authorized_keys'文件進行設置。 –

+0

我可以通過authorized_keys限制命令嗎?如果是這樣,那麼怎麼做才能限制除rsync命令之外的所有命令? – iLinux85

+0

如果您使用授權密鑰路由,請務必更改** $ HOME **,** $ HOME/.ssh **和authorized_keys文件本身的所有權,以便用戶不能更改authorized_keys。 – itsbruce

回答

3

你不能 - 只使用這些文件。爲什麼不給他們另一個殼,用更少的選擇? rssh專爲此目的而設計。在authorized_keys的限制RSSH的

優勢(不是所有的可能適用於您或有趣):

  • 可以使用一個以上的用戶
  • 限制是從外面而不是從內應用於控制用戶的個人配置 - 一個錯誤,讓他們更多地進入
  • 的機會較少使Chroot環境用戶更容易
  • RSSH是不是一個通用的外殼,因此即使錯誤地配置,提供給用戶的範圍比如果少得多的bash +作者ized_keys配置錯誤。
+0

但是rssh是受限制的只能使用scp和/或sftp,它們不如rsync命令那麼好 – iLinux85

+1

rssh顯式**不允許rsync。閱讀我給你的鏈接上的第二行。 – itsbruce

+0

我可以通過authorized_keys文件限制命令嗎?或者這也不能做? – iLinux85