我在一个盒子里有大约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多个条目。 这些组在列表文件中的顺序将决定我相信的最高目录。
希望有所帮助。 托马斯
有几个选项。
将用户的主目录设置为需要的目录(位于/ etc / passwd中)并configuration组成员资格,并将vsftpdconfiguration为将其归入其主文件夹。
echo chroot_local_user=YES >> /etc/vsftpd/vsftpd.conf
如果因为某种原因他们确实需要本地访问,那么事情会变得更复杂一点,这使我到了#2。
像#1一样将用户locking到他们的主文件夹,但不要在/ etc / passwd中更改他们的主文件夹。 相反,添加一个挂载点到他们需要访问的主文件夹内的目录。
mount --bind /tmp/site1 /home/ftp_user/site1
这个需要额外的用户点击,但是可以正确设置主目录。
此外,我会运行每日cron作业来加倍检查成员身份,并在组成员身份发生变化的情况下调整主文件夹/挂载点。
像这样的场景将非常适合proftpd + mod_mysql,它可以让你
所有这一切只有在你切换到proftpd时才有可能,但是由于你显然没有在生产中使用它,所以它不会是那么大的一笔交易