(Jag håller med om det som skrivits ovan, även om jag upprepar det nedan; jag började skriva detta tidigare men det blev en matpaus mitt i skrivandet .)
Skrivet av Absinthe66:
drwxr-xr-x 3 test1 root 4096 jul 30 11:10 .
drwxr-xr-x 4 root root 4096 jul 30 09:54 ..
drwx------ 2 test1 test1 4096 jul 30 18:50 test
root@ftp:/#
Vill du inte snarare att `ftp-group` ska vara ägare till katalogen `test`? Det borde inte ens finnas en grupp som heter `test1`, utan bara den gemensamma `ftp-users`. Dessutom så är rättigheterna nu satta som att ägaren till katalogen får `rwx`, men gruppmedlemmar och övriga får inget alls, så det på dubbla grunder inte konstigt att `test2` inte kan läsa.
Enligt manualen är `file_open_mode` och `local_umask` inställningen som bestämmer just `umask` för filskapande, och den senare är tydligen satt som `0077` som standard (den inledande nollan säger att du vill ge oktala värden, vilket du vill). Det betyder att man tar bort alla rättigheter (`read`, `write` och `executable` representeras ju av 4, 2 respektive 1, så 7 = 4 + 2 + 1 betyder hela rasket) från basrättigheterna som anges i `file_open_mode`. Om du vill behålla läs- och exekverbarrättigheter för andra i samma grupp som `test1` så bör du i stället sätta `local_umask` som `0027`. Dock så har du fortfarande problemet med att `test1` och `test2` bör tillhöra samma lokala grupp, så det får du nog titta på.
Du får nog ge dig in och böka i dokumentationen för Vsftpd för att bena ut rättighetsalternativen; det verkar finnas ett och annat alternativ som berör detta.
För att sätta rätt rättigheter på katalogen som redan finns så skulle du just nu kunna köra:
# chown -R test1:ftp-users /home/ftp/test
# chmod -R u=rwX,g=rX,o= /home/ftp/test
Dessutom, som en mininotis:
Skrivet av Absinthe66:
useradd --home /home/ftp --group ftp-users --shell /bin/dummy test1
Notera vad `man useradd` säger:
useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.