Permalänk

Debian vsftpd

Hej!
Håller på att sätta upp en ftpserver på en debianmaskin.
Kör vsftpd och har skapat två användare "test1" och "test2" test1 är ägare av mappen /home/ftp och kan skriva och ladda upp filer. användare test2 ska bara kunna ladda ner , men problemet är att om jag skapar en mapp med användaren test1 kan inte användare test2 gå in i mappen.
Test2 kan ansluta till ftp och kommer in i mappen /home/ftp men inte vidare i undermappar.

Såhär har jag gjort

mkdir /home/ftp
nano /etc/shells ← add /bin/dummy
groupadd ftp-users
useradd --home /home/ftp --group ftp-users --shell /bin/dummy test1
passwd test1
useradd --home /home/ftp --group ftp-users --shell /bin/dummy test2
passwd test2
chown -R test1 /home/ftp
chmod 755 /home/ftp

Permalänk
Medlem

ls -al /home/ftp

Permalänk
Skrivet av maniak:

ls -al /home/ftp

Jaha?
fick output

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:/#

Permalänk
Medlem
Skrivet av Absinthe66:

Jaha?
fick output

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:/#

Så hur ska test2 få gå in i test mappen om den inte har rättigheter?

Permalänk
Skrivet av maniak:

Så hur ska test2 få gå in i test mappen om den inte har rättigheter?

Ja precis, men hur ska jag kunna ge den till den användaren när test1 skapar mappen?
Jag kan ju inte behöva köra chmod varje gång det skapas en ny mapp?

Permalänk
Medlem
Skrivet av Absinthe66:

Ja precis, men hur ska jag kunna ge den till den användaren när test1 skapar mappen?
Jag kan ju inte behöva köra chmod varje gång det skapas en ny mapp?

Du kan ändra så båda är med i samma grupp som du skapade, du måste även sätta umask så nya filer och mappar skapas med rätt rättigheter (så group har read och write tex), men kanske redan är så.

usermod -g GROUP USER

Permalänk
Hedersmedlem

(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.

Permalänk

Hej!
Fick avkommentera umask 022 så fungerade det. tack för hjälpen

Permalänk
Hedersmedlem
Skrivet av Absinthe66:

Hej!
Fick avkommentera umask 022 så fungerade det. tack för hjälpen

Då ger du läsrättigheter även till användare utanför `ftp-users`-gruppen, men det kanske i praktiken är vad du vill. Det kan göra administrationen lite smidigare, om inte annat.

Permalänk
Entusiast
Skrivet av Absinthe66:

Hej!
Fick avkommentera umask 022 så fungerade det. tack för hjälpen

En umask med 002 hade nog passat bättre... eller ännu säkrare: 007

Permalänk
Hedersmedlem
Skrivet av SysGhost:

En umask med 002 hade nog passat bättre... eller ännu säkrare: 007

Han ville inte att hela gruppen skulle kunna skriva, utan bara ägaren `test1`.

Permalänk
Entusiast
Skrivet av phz:

Han ville inte att hela gruppen skulle kunna skriva, utan bara ägaren `test1`.

Aha. Var lite snabb där.
I så fall tror jag att sätta "sticky group" på huvudmappen ifråga är den bästa lösningen. Glöm inte att sätta rätt grupp på mappen ifråga också.

chgrp ftp-users /home/ftp chmod g+s /home/ftp

Efter detta så borde umask 022 fungera utmärkt. Även umask 027
Glöm inte att existerande filer inte uppdateras, utan detta gäller bara för nya filer och mappar. Uppdatera existerande struktur manuellt.