Linux
禁用 Linux 命令
我正在編寫一個簡單的程序來將一些文件備份到 Linux 機器上。交易將通過 SSH 進行,程序的每個副本都將在要連接的 Linux 機器上擁有自己的帳戶。
我擔心的是,該軟體的使用者很可能會弄清楚他們的帳戶名和密碼(這將是預先隨機生成的)並想要連接到盒子並玩耍。
除了我授權備份軟體做的事情之外,我想禁用他們在那個盒子上做任何事情的能力。也就是說,他們只需要創建新文件並讀取舊文件(無需更新或刪除)。他們不應該需要執行能力
bc
或who
類似的能力。我曾考慮過嘗試讓
chroot
每個使用者進入他們的主目錄,但我對如何做到這一點有點模糊。有關如何實現此所需功能的任何建議?
謝謝!
authorized_keys
帳戶文件可以指定在使用特定密鑰進行身份驗證時要使用的命令。這將要求您使用密鑰而不是使用者/密碼來設置身份驗證 - 儘管恕我直言,無論如何這都是一件好事。例如,gitosis 使用這種方法允許人們使用 ssh 連接到伺服器以隧道化 git 協議,但不允許他們登錄。authorized_keys 手冊頁給出了範例,例如:
command="dump /home",no-pty,no-port-forwarding ssh-dss AAAAC3...51R== example.net