Rook Asked: 2010-02-14 12:22:16 +0800 CST2010-02-14 12:22:16 +0800 CST 2010-02-14 12:22:16 +0800 CST SFTP 文件限制 772 是否可以在 Linux 上使用 SFTP 并将用户帐户限制为一个目录,这样就无法获得其他目录列表?是的,我必须使用 SFTP,FTP 仅供喜欢被黑客入侵的人使用。 例如,我希望有人修改 /var/www/code/ 中的文件,但我不希望他们能够修改其他任何内容。我什至不希望他们看到 /tmp/ 的内容。 (我会接受“快速而肮脏”的解决方案,只要它是安全的。) linux security ssh sftp 5 个回答 Voted Best Answer Alex Holst 2010-02-14T12:59:11+08:002010-02-14T12:59:11+08:00 从 sshd_config 手册页: Chroot目录 指定身份验证后 chroot(2) 的路径。这个 路径及其所有组件必须是根拥有的目录 任何其他用户或组不可写。在 chroot 之后, sshd(8) 将工作目录更改为用户的主目录- 瑞。 该路径可能包含以下标记,这些标记在 连接用户通过身份验证后的运行时间:%% 是 替换为文字 '%',%h 替换为主目录 被认证的用户,%u 被用户替换- 该用户的名称。 ChrootDirectory 必须包含必要的文件和目录 ries 以支持用户的会话。对于交互式会话 这至少需要一个 shell,通常是 sh(1),以及基本的 /dev null(4)、zero(4)、stdin(4)、stdout(4)、stderr(4) 等节点, arandom(4) 和 tty(4) 设备。对于文件传输会话使用 ``sftp'',不需要额外的环境配置 essary 如果使用进程内 sftp 服务器,但会话 使用日志记录确实需要 /dev/log 在 chroot 目录中 (详见 sftp-server(8))。 默认不是 chroot(2)。 jonathanserafini 2010-02-14T14:39:08+08:002010-02-14T14:39:08+08:00 另一种选择也可以是用 MySecureShell 替换他们的外壳,它为您提供诸如 Chroot、带宽限制、连接限制等功能。等等。 http://mysecureshell.sourceforge.net/ 目前在虚拟主机环境中使用它,并且必须说它工作得非常好。 CarpeNoctem 2010-02-14T12:40:49+08:002010-02-14T12:40:49+08:00 SFTP 不是一个功能丰富的解决方案,可与 vsftpd 之类的 FTP 服务器相媲美。它不支持 chroot;这就是你要找的。FTPS(不是 SFTP)将是最好的解决方案,因为它支持加密、chroot 等。vsftpd 支持这一点并且易于设置。 此外,请务必利用 pam_listfile 模块明确说明允许哪些用户通过 ftps 登录。 alex 2010-02-15T04:11:56+08:002010-02-15T04:11:56+08:00 http://pizzashack.org/rssh/允许您设置受限 ssh,以便仅运行 SFTP/SCP;它还有助于设置 chroot。 正如 CarpeNoctem 所指出的,FTPS 有时是更好的解决方案。ssh、SFTP、scp 是非常“低级”的,FTPS(如不安全的 FTP)通常是高级(虚拟目录、虚拟用户等)。 我认为对于您描述的场景,两种方法都可以。 djangofan 2010-04-24T13:15:27+08:002010-04-24T13:15:27+08:00 我会使用这个配置: http: //www.debian-administration.org/articles/590 然后,对于 chroot 功能: http: //www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny
从 sshd_config 手册页:
另一种选择也可以是用 MySecureShell 替换他们的外壳,它为您提供诸如 Chroot、带宽限制、连接限制等功能。等等。
http://mysecureshell.sourceforge.net/
目前在虚拟主机环境中使用它,并且必须说它工作得非常好。
SFTP 不是一个功能丰富的解决方案,可与 vsftpd 之类的 FTP 服务器相媲美。它不支持 chroot;这就是你要找的。FTPS(不是 SFTP)将是最好的解决方案,因为它支持加密、chroot 等。vsftpd 支持这一点并且易于设置。
此外,请务必利用 pam_listfile 模块明确说明允许哪些用户通过 ftps 登录。
http://pizzashack.org/rssh/允许您设置受限 ssh,以便仅运行 SFTP/SCP;它还有助于设置 chroot。
正如 CarpeNoctem 所指出的,FTPS 有时是更好的解决方案。ssh、SFTP、scp 是非常“低级”的,FTPS(如不安全的 FTP)通常是高级(虚拟目录、虚拟用户等)。
我认为对于您描述的场景,两种方法都可以。
我会使用这个配置: http: //www.debian-administration.org/articles/590
然后,对于 chroot 功能: http: //www.howtoforge.com/chrooted-ssh-sftp-tutorial-debian-lenny