non ho capito nulla ne di come tu abbia impostato i permessi sulle directory ne di come tu abbia impostato gli utenti, comunque ti faccio vedere come ho fatto io in un'installazione di esempio cosi' puoi fare un confronto.
magari se copie e incolli i rispettivi comandi applicati al tuo setup possiamo provare a capirci qualcosa.
per esempio, nel mio caso la home degli utenti e' unica, non ci sono symlink: se vuoi raffrontare col tuo caso riporta l'output di "ls -la" per le tue directory e i tuoi symlink, anche quello delle directory intermedie per arrivare a quelle che hai impostato.
Il gruppo 80, a cui appartengoni gli utenti, corrisponde ad "apache" (default su Slackware)
Codice: Seleziona tutto
# grep mioutente /etc/passwd
mioutente1:x:1002:80:Mio Utente 1,,,:/web:/usr/bin/MySecureShell
mioutente2:x:1003:80:Mio Utente 2,,,:/web:/usr/bin/MySecureShell
# ls -la /web/directory
drwxr-xr-x 7 root root 4096 Apr 13 10:53 .
drwxr-x--x 5 root apache 4096 Feb 2 2015 ..
drwxrwxr-x 13 apache apache 4096 Jun 3 14:37 esempio1
drwxrwxr-x 6 apache apache 4096 Aug 21 18:56 esempio2
drwxrwxr-x 20 root apache 4096 Apr 13 12:11 www
il mio file /etc/ssh/sftp_config (per la configurazione di MySecureShell) contiene
Codice: Seleziona tutto
<Default>
GlobalDownload 50m #total speed download for all clients
# o -> bytes k -> kilo bytes m -> mega bytes
GlobalUpload 0 #total speed download for all clients (0 for unlimited)
Download 50m #limit speed download for each connection
Upload 0 #unlimit speed upload for each connection
StayAtHome true #limit client to his home
VirtualChroot true #fake a chroot to the home account
LimitConnection 20 #max connection for the server sftp
LimitConnectionByUser 10 #max connection for the account
LimitConnectionByIP 10 #max connection by ip for the account
Home /web #overrite home of the user but if you want you can use
# environment variable (ie: Home /home/$USER)
IdleTimeOut 3600 #(in second) deconnect client is idle too long time
ResolveIP false #resolve ip to dns
HideNoAccess false #Hide file/directory which user has no access
DefaultRights 0664 0775 #Set default rights for new file and new directory
ShowLinksAsLinks false #show links as their destinations
</Default>
dentro /web puoi anche diversificare i permessi di accesso: nel mio caso e' un ambiente collaborativo dove tutti devono poter leggere e, in certe parti, scrivere (ci sono comunque altre parti private).
nel file di configurazione sopra puoi specificare l'umask con cui vengono creati nuovi file e directory.