linux – 为一个帐户创建多个SFTP用户
我正在将老化的共享托管系统迁移到更现代的技术.现在,普通的旧不安全FTP是客户访问其文件的唯一途径.
我计划用SFTP替换它,但是我需要一种方法来创建对应于一个UNIX帐户的多个SFTP用户.客户在机器(例如客户)上有一个帐户,其主目录如/ home / customer /. 我们的客户习惯于为他们的域创建任意数量的FTP帐户(向不同的人提供).我们需要与SFTP相同的功能. 我的第一个想法是使用SSH密钥,只是将每个新的“用户”添加到authorized_keys,但这对我们的客户来说很困惑,他们中的许多人不是技术倾向,而是更愿意坚持使用密码. SSH不是问题,只有SFTP可用.我们如何创建多个SFTP帐户(customer,customer_developer1,customer_developer2等),这些帐户都是等效的并且不会干扰文件权限(理想情况下,所有文件都应该将客户保留为其所有者)? 我最初的想法是某种PAM模块,但我不清楚如何在我们的约束内完成这个.如果OpenSSH不适合我们的情况,我们愿意使用备用SSH守护进程;再次,它只需要支持SFTP而不支持SSH. 目前我们的SSH配置附加了它,以便在自己的目录中监禁用户: # all customers have group 'customer' Match group customer ChrootDirectory /home/%u # jail in home directories AllowTcpForwarding no X11Forwarding no ForceCommand internal-sftp # force SFTP PasswordAuthentication yes # for non-customer accounts we use keys instead 我们的服务器运行Ubuntu 12.04 LTS. 解决方法
我们的解决方案是为每个客户创建一个主用户帐户,例如flowershop.每个客户都可以使用自己的密码创建任意数量的副帐户,例如flowershop_developer,flowershop_tester,flowershop_dba等.这样他们就可以在不共享主帐户密码的情况下分发帐户,这有很多原因(对于例如,如果他们需要删除他们的DBA帐户,他们可以轻松地执行此操作而无需更改自己的密码).
这些帐户中的每一个都在flowershop组中,其中包含/ home / flowershop /的主文件夹. SSH使用它作为chroot目录(/ home /%u,如问题中的配置所示). 然后,我们使用ACL来启用组flowershop中的每个用户来修改所有文件.创建新客户帐户时,我们按如下方式设置ACL: setfacl -Rm d:group:admin:rwx,d:user:www-data:r-x,d:user:$USERNAME:rwx,d:group:$USERNAME:rwx, group:admin:rwx,user:www-data:r-x,user:$USERNAME:rwx,group:$USERNAME:rwx /home/$USERNAME/ 这样做如下: >给组管理员(对我们来说,托管服务提供商)rwx 此设置似乎对我们有效,但我们愿意接受任何更好的建议. *我们使用suexec作为客户帐户运行的CGI / PHP (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |