Konfigurace SFTP serveru

Gwyn

Konfigurace SFTP serveru
« kdy: 30. 05. 2010, 23:59:05 »
Dobrý den,
snažím se nakonfigurovat sftp server podle článku od Petra Krčmáře na zdrojáku:
http://www.root.cz/clanky/jak-nahradit-ftp-pomoci-sftp-a-zamknout-uzivatele/

Distro: Debian Lenny
Problém: Po přihlášení nemá uživatel žádná práva na čtení/zápis a je klientem odpojen

Výpis z filezilly:
Příkaz:   Pass: *********
Stav:   Connected to zaklinac.cz
Stav:   Přijímám výpis složky...
Příkaz:   pwd
Odpověď:   Current directory is: "/"
Příkaz:   ls
Stav:   Listing directory /
Chyba:   Unable to open .: permission denied

přihlášení na server funguje a uživatel je ověřen, nicméně se mi zdá, že je uzamčen v adresáři na která nemá žádná práva.

práva na domovském adresáři uživatele jsou 701, vlastníkem je root
poslední záznam v auth.log je pouze úspěch na přihlášení.

Snažil jsem se hledat na goolu a několkrát si postup prošel i podle jiných článků, ale vždy se stejným výsledkem.

Děkuji za každou radu a pomoc.
« Poslední změna: 31. 05. 2010, 10:45:13 od Petr Krčmář »


Re: konfigurace sftp serveru
« Odpověď #1 kdy: 31. 05. 2010, 06:12:26 »
Ten domovsky adresar by v pripade SFTP mel byt vlastnen uzivatelem, ktery se prihlasuje, pokud se nepletu. Tedy pokud se prihlasuje uzivatel franta, mel by byt adresar vlastnen frantou, popripade pokud je vlastnik adresare a franta ve stejne skupine, pak nastavit adresari spravna prava pro skupinu a podobne.
Jabber: withoutnick@jabbim.cz
[root@holy_terminal ~]# /etc/rc.d/world restart
Dilino phenel, so džanel, goďaver džanel, so phenel.

Gwyn

Re: konfigurace sftp serveru
« Odpověď #2 kdy: 31. 05. 2010, 08:32:58 »
Dobrý den, tak to bohužel není, vlastníkem musí být uživatel root a pouze root musí mít práva zápisu do tohoto adresáře. V opačném případě se nepodaří připojit a v auth.log je zánam o chybě práv na domovský adresář.

Re: Konfigurace SFTP serveru
« Odpověď #3 kdy: 31. 05. 2010, 10:46:56 »
Pokud se to přihlásí a jen vlastně není kam co zapisovat, pak zbývá poslední krok: v tom "domovském adresáři" vlastněném rootem stačí založit podadresář(e) pro uživatele. Ty už samozřejmě může vlastnit a může do nich normálně zapisovat.

Gwyn

Re: Konfigurace SFTP serveru
« Odpověď #4 kdy: 31. 05. 2010, 11:12:55 »
Děkuji, děkuji, děkuji!  :)

adresář jsem měl již vytvořený, ale klientovy se musí vnutit přechod do tohoto adresáře, tedy ve filezille dát jako vstupní adresář např. /public

problém je tedy vyřešen!


Re: Konfigurace SFTP serveru
« Odpověď #5 kdy: 31. 05. 2010, 11:20:18 »
Výborně, jsem rád, že to bylo takhle lehké :-). Samozřejmě tam těch adresářů je možné dát neomezený počet a ať si tam uživatel řádí. Jen nemůže sám vytvářet žádné další.

Re: Konfigurace SFTP serveru
« Odpověď #6 kdy: 31. 05. 2010, 11:40:34 »
Pokud chcete uzavrit vsechny uzivatele do stejneho adresare, mela by stacit direktiva
Kód: [Vybrat]
ChrootDirectory     /public
v konfiguraci sftp serveru a ve filezille byste pak uz teoreticky nemusel nic nastavovat.
(adresar /public pak samozrejme musi mit prislusna prava)
Jabber: withoutnick@jabbim.cz
[root@holy_terminal ~]# /etc/rc.d/world restart
Dilino phenel, so džanel, goďaver džanel, so phenel.

Re: Konfigurace SFTP serveru
« Odpověď #7 kdy: 31. 05. 2010, 11:51:37 »
To je k ničemu. Pokud se chroot posune na public, zase to bude pro uživatele nezapisovatelný adresář. Prostě se to musí udělat tak, jak bylo uvedeno výše: Uživatel se dostane do adresáře /, do kterého ale nebude schopen nic zapsat. Až do jeho podadresářů. A tam jej může přepnout klient rovnou sám.

Re: Konfigurace SFTP serveru
« Odpověď #8 kdy: 31. 05. 2010, 13:01:15 »
To je k ničemu. Pokud se chroot posune na public, zase to bude pro uživatele nezapisovatelný adresář. Prostě se to musí udělat tak, jak bylo uvedeno výše: Uživatel se dostane do adresáře /, do kterého ale nebude schopen nic zapsat. Až do jeho podadresářů. A tam jej může přepnout klient rovnou sám.

Zase sem o neco chytrejsi, dekuji  :)
Jabber: withoutnick@jabbim.cz
[root@holy_terminal ~]# /etc/rc.d/world restart
Dilino phenel, so džanel, goďaver džanel, so phenel.

Gwyn

Re: Konfigurace SFTP serveru
« Odpověď #9 kdy: 31. 05. 2010, 15:37:37 »
To je k ničemu. Pokud se chroot posune na public, zase to bude pro uživatele nezapisovatelný adresář. Prostě se to musí udělat tak, jak bylo uvedeno výše: Uživatel se dostane do adresáře /, do kterého ale nebude schopen nic zapsat. Až do jeho podadresářů. A tam jej může přepnout klient rovnou sám.

Ještě jeden, poslední dotaz :)

""A tam jej může přepnout klient rovnou sám""

Může, nebo musí? Tedy existuje nějaká možnost, aby server rovnou poslal do adresáře, do kterého bude mít práva zápisu?

V praxi se totiž musí uživateli poslat kromě přístupových údajů navíc informace o tom, že si musí nastavit klienta tak, aby ho přesunul do nějaké složky, což je v každém klientu jinak a 99% BFU to prostě nenastaví.

Děkuji

VS

Re: Konfigurace SFTP serveru
« Odpověď #10 kdy: 31. 05. 2010, 19:51:50 »
Do kterého adresáře se klient přepne po pořihlášení, to je přece stanoveno domovským adresářem uživatele (podle /etc/passwd například). Jaký domovský adresář máte nastaven u těch uživatelů?

Já to řeším tak, že v /etc/passwd je normálně uvedeno "/home/neco/login_uzivatele" a sftp chroot mám nastaven na "/sftp-chroot", kde je adresář "/sftp-chroot/home". Přes bind mount je do něj nalinkován obsah skutečného /home:

  mount -o bind /home /sftp-chroot/home

Gwyn

Re: Konfigurace SFTP serveru
« Odpověď #11 kdy: 31. 05. 2010, 21:26:52 »
aha, tak už je mi to jasné. Já mám home uživatele i chroot do stejného adresáře.
Děkuji za tento tip.

J.K