Vous avez raison - ce que je viens de recommander s'agit d'autoriser l'access par IP.
Je reviens donc a ma premier idee d'installer le smeserver-remoteuseraccess - ca vous donne l'abilite de controller exactement qui peut connecter en FTP.
Imaginer que vous faites:
a) les groupes 'groupa', 'groupb'
b) les ibays 'ibaya', 'ibayb'
c) les utilisateur 'usera', 'userb', 'userc', 'userd'
ensuite, vous donnez l'access read-write a 'ibaya' a 'groupa', et a 'ibayb' a 'groupb'.
maintenant, ajouter 'usera', 'userb', 'userc' a 'groupa', et 'userc', 'userd' a 'groupb'.
Voila - 'usera', 'userb', 'userc' peuve connecter read-write a ibaya, mais userd ne peut pas connecter.
cependant, 'userc' et 'userd' peuve connecter read-write a ibayb, mais 'usera' et 'userb' ne peuvent pas.
Ce n'est pas ce que vous voulez?
OK, bien - j'ai essayer sur mon SME ce que je vous suggere et j'ai trouve que ca ne marche pas par ce que les 'groups' sont automatiquement ajouter a /etc/ftpusers, ce qui prohibite qu'ils connectent en FTP. Il faut faire d'autres changements:
mkdir -p /etc/e-smith/templates-custom/etc/e-smith/pam/accounts.deny
cd /etc/e-smith/templates-custom/etc/e-smith/pam/accounts.deny
cp /etc/e-smith/templates/etc/e-smith/pam/accounts.deny/10passwordRequired .
pico -w 10passwordRequired
(faites attention au point '.' a la fin de la ligne de 'cp...')
maintenant, ajoutez cela entre "
my $type = $a->prop..." et "
if ( $type...":
next if ( $type =~ /(group)/ );
Quand vous etes finit, le fichier semblera:
{
use esmith::AccountsDB;
my $adb = esmith::AccountsDB->open_ro();
while ( my $name = getpwent )
{
next if ($name eq "admin");
next if ($name eq "public") and ($ACCOUNTS_DENY_ALLOW_PUBLIC);
my $a = $adb->get($name);
next unless defined $a;
my $type = $a->prop('type') || 'none';
next if ( $type =~ /(group)/ );
if ( $type =~ /(user|ibay)/ )
{
my $passwordSet = $a->prop('PasswordSet') || 'no';
next if ($passwordSet eq "yes");
my $ftpMode = $a->prop('PublicAccess') || 'none';
next if ($ftpMode eq "local" or $ftpMode eq "global");
}
$OUT .= "$name\n";
}
}
enfin il faut:
expand-template /etc/ftpusers
J'ai ouvrit un bug sur bugzilla:
http://bugs.contribs.org/show_bug.cgi?id=3043(Ca arrive a sembler complique...)