CopSSH SFTP – 限制用户只能访问他们的主目录

让我通过说我已阅读并按照常见问题解答中的这些说明多次说明: http : //www.itefix.no/i2/node/37

它不会做标题要求…它允许每个用户访问其他用户的主目录,以及访问copssh安装path下的所有子文件夹。

我只使用这个SFTP访问,我需要我的用户被沙箱只有他们的主目录。

如果您知道一种防止用户locking的傻瓜式方法,以便他们只能看到其主目录及其子文件夹,请立即停止阅读并回复解决scheme。

细节:

这正是我跟着FAQ所尝试的。 我的copSSH安装目录是:C:\ Program Files \ CopSSH

net localgroup sftp_users /ADD **Create a user group to hold all my SFTP users cacls c:\ /c /e /t /d sftp_users **For that group, deny access at the top level and all levels below cacls "C:\Program Files\CopSSH" /c /e /t /r sftp_users **Allow my user group access to the copSSH installation directory and its subdirectories 

对于每个sftp用户,我创build一个新的windows用户帐户,然后我:

 net localgroup sftp_users sftp_user_1 /add **Add my user to the group I've created 

打开CopSSH的激活用户向导,select用户“/ bin / sftponly”和

  • 删除copssh主目录(如果存在)**保持选中
  • 为公共密钥身份validation创build密钥**保持选中状态
  • 创build链接到用户的真正的家庭目录**保持检查

这个工作,但是,每个用户都可以访问其他用户的主目录以及CopSSH根目录….

所以我试图拒绝所有用户访问用户主目录:

cacls“C:\ Program Files \ CopSSH \ home”/ c / e / t / d sftp_users **拒绝用户访问用户主目录

然后,我尝试在每个用户的home \ username文件夹中逐个用户地添加权限。 但是,这些权限是不允许的窗口,因为上面的拒绝规则,我在主目录创build被inheritance和超越我的允许规则。

对我来说,下一步就是在主目录和每个用户文件夹中删除拒绝规则,为它不属于的每个用户添加一个拒绝规则,并为它所属的一个用户添加一个允许规则。

但是,随着我的用户列表变长,这将变得非常繁琐。

谢谢您的帮助!

  1. 在计算机pipe理中创build组“SSH用户”
  2. 将组添加到gpedit – >计算机configuration – > Windows设置 – >安全设置 – >本地策略 – >用户权限分配 – >允许本地login (请参阅无法用非pipe理员用户帐户loginCygwin sshd服务器 )
  3. 运行gpupdate
  4. 将ftpuser添加到SSH用户组中
  5. 在/ etc / sshd_config中追加详细信息:

     Subsystem sftp internal-sftp Match User ftpuser ChrootDirectory /home/ftpuser X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp 

    Match指令后面的行关键字只适用于用户ftpuser并覆盖configuration文件全局部分中设置的那些关键字,直到另一个Match行或文件末尾。)

  6. 通过copSSH向导激活ftpuser用户
  7. 删除ftpuser文件夹下的所有.ssh .bashprofile文件/文件夹
  8. 设置SvcCOPSSH用户为root id 0

     SvcCOPSSH:unused_by_nt/2000/xp:**0**:545:U... 

    (见http://www.itefix.no/i2/node/11956

  9. 可能还需要在copSSH'UNIX BASH Shell'

     cd / chown SvcCOPSSH / chmod 0755 / 
  10. 重启openssh服务