我正在编写一个简单的程序来将一些文件备份到Linux盒中。事务将在SSH上进行,程序的每个副本都将在它将连接到的Linux框上有自己的帐户。
我担心的是,该软件的用户可能会知道他们的帐户名和密码(事先会随机生成),并希望连接到该框并在其中进行播放。
我想禁用他们做任何事情的能力,除了我将授权备份软件做什么。也就是说,他们只需要创建新文件并读取旧文件(不需要更新或删除)。他们不应该需要执行bc或who之类的功能。
我曾考虑过尝试将每个用户的chroot放到他们的主目录中,但我对如何做到这一点有点模糊。
对于如何实现所需的功能,有什么建议吗?
谢谢!
发布于 2009-12-16 13:53:06
帐户的authorized_keys文件可以指定用于身份验证的特定密钥时使用的命令。这将要求您使用密钥来设置身份验证,而不是使用用户/密码-尽管imho无论如何都是一件好事。
例如,gitosis使用此方法允许人们使用ssh连接到服务器以隧道git协议,但不允许他们登录。authorized_keys手册提供了一些例子,例如:
command="dump /home",no-pty,no-port-forwarding ssh-dss AAAAC3...51R== example.net发布于 2009-12-16 13:50:46
在chroot选项中使用scponly。这将为用户提供一个特殊的着色登录,只有您希望他们使用的二进制文件。
请参阅http://www.sublimation.org/scponly/wiki/index.php/Install
发布于 2009-12-16 14:20:31
您可以使用rssh (http://www.pizzashack.org/rssh/),它类似scponly,但支持scp、sftp、rsync和cvs。
https://serverfault.com/questions/94925
复制相似问题