VSFTPconfiguration将用户发送到特定的文件夹

我在一个盒子里有大约30个用户。 这些用户是在重叠组(约6-10组)。 当他们进入FTP时,我需要他们能够根据他们的组分配登陆一个特定的文件夹。

即,group1 – > / tmp / site1 group2 – > / tmp / site2

这是所有可能的VSFTP在SuSE盒? 不幸的是,使用SFTP不是一个选项。

谢谢!

编辑:如果用户在几个组中,只是将其转储到最高级别的文件夹,以查看他们有权访问的各种文件夹。

你可以用vsftpd.conf创build一个chroot列表

请参阅此处的帮助说明: http : //www.linuxquestions.org/questions/linux-networking-3/vsftpd-chroot-problem-387883/

我想你正在寻找这个信息片段:

所有属于ftp-users组的用户在login时默认进入/ home / ftp-docs / ftp_stuff。 他们不能在其他目录中导航,并被限制在这个特定的目录。

你做这个:

通过以root身份发出以下命令来创build一个目录:

mkdir -p / home / ftp-docs / ftp_stuff

然后做这个:

chgrp ftp-users / home / ftp-docs / ftp_stuff chmod 3777 / home / ftp-docs / ftp_stuff

在/etc/vsftpd/vsftpd.conf中写入这个chroot_list_enable = YES chroot_list_file = / etc / vsftpd.chroot_list

把所有的ftp用户组usergroup名放入/etc/vsftpd.chroot_list然后在/ etc / passwd文件中,将所有属于ftp-users组的用户的主目录设置为/ home / ftp-docs / ftp_stuff。 然后执行以下操作:

服务vsftpd重启

然后通过属于ftp-users组的任何用户login,您将借入/ home / ftp-docs / ftp_stuff。 你不能去其他更高层次的目录。

您可以在列表中为多个组创build多个条目。 这些组在列表文件中的顺序将决定我相信的最高目录。

希望有所帮助。 托马斯

有几个选项。

  1. 将用户的主目录设置为需要的目录(位于/ etc / passwd中)并configuration组成员资格,并将vsftpdconfiguration为将其归入其主文件夹。

    echo chroot_local_user=YES >> /etc/vsftpd/vsftpd.conf 

    如果因为某种原因他们确实需要本地访问,那么事情会变得更复杂一点,这使我到了#2。

  2. 像#1一样将用户locking到他们的主文件夹,但不要在/ etc / passwd中更改他们的主文件夹。 相反,添加一个挂载点到他们需要访问的主文件夹内的目录。

     mount --bind /tmp/site1 /home/ftp_user/site1 

这个需要额外的用户点击,但是可以正确设置主目录。

此外,我会运行每日cron作业来加倍检查成员身份,并在组成员身份发生变化的情况下调整主文件夹/挂载点。

像这样的场景将非常适合proftpd + mod_mysql,它可以让你

  1. 通过mysql轻松pipe理用户,因为我怀疑处理30或更多的shell用户是非常舒适的
  2. 根据表中的数据设置主目录,用户组
  3. 修改proftpd用于从用户数据库中检索信息的查询,这样你可以像你一样做条件任务suggtested(重叠的组,select家里)
  4. 通过mysql监视使用情况,带宽
  5. 能够轻松扩展到比30多的用户
  6. 使用您的用户数据表进行其他需要查找或修改用户数据的pipe理任务
  7. 将所有这些数据都显示在一个漂亮的gui或web-dashboard中

所有这一切只有在你切换到proftpd时才有可能,但是由于你显然没有在生产中使用它,所以它不会是那么大的一笔交易