Fórum Ubuntu CZ/SK
Ostatní => Ubuntu Server => Téma založeno: daton 23 Listopadu 2010, 09:34:54
-
Dobrý den
Mám takovýto problém. Nainstaloval jsem se proftpd a vytvořil ftp server. Vytvořil jsem uřivatele a v něm adresář, do kterého jsem ftp "nasměroval". Jenže uživatelé, nemohou na server nic vkládat jen stahovat, a účelem bylo právě i to vkládání. Server mám doma tak že jsem za routerem a o bezpečnost tedy tolik nejde.
Složkám v daném uživateli pro ftp jsem přidělil práva na zápis čtení i mazání a stejně nemohu nic vkládat. Při pokusu o vloženi mi to vve Windows vyhodí tuto chybu:
Pči kopírování na server ftp došlo k chybě. Přesvědčte se, uda máte oprávnění ukládat soubory na tento server.
Podrobnosti:
200 Type set to I
227 Entering Passive Mode (192,168,20,199,154,178).
550 Operace zamítnuta
Prosím napadá vás jak to vyřešit aby uzivatelé mohly svoje soubory vkládat na tento server ,nevím zda se to nenastavuje někde v proftpd.conf
-
Dobrý den,
podle popisu jste nastavil práva pro uživatele na úrovní ftp (čtení, zápis, mazaní). A podle popisu chyby bude ještě nezbytné nastavit práva na úrovní uživatelé linuxu. Ftp server pracuje pod nějakým uživatelem v linuxu (root, ftp, www-data nebo jiný) a ten nemá dostatečná oprávnění pro manipulaci (zápis) se soubory ve složce. Tedy, jak píšete, nad "nasměrovanou" složkou je potřeba použít příkazy chmod, případně chown. Tak aby měl uživatel pod kterým jede ftp server dostatečná oprávnění.
Pár linků k prostudování
https://help.ubuntu.com/community/FilePermissions (https://help.ubuntu.com/community/FilePermissions)
http://cs.wikipedia.org/wiki/Chmod (http://cs.wikipedia.org/wiki/Chmod)
http://www.manpagez.com/man/1/chmod/ (http://www.manpagez.com/man/1/chmod/)
http://www.manpagez.com/man/8/chown/ (http://www.manpagez.com/man/8/chown/)
EDIT: doporučuji použít přepínač -R pro rekurzivní přidělení práv
-
...
Tak nějak, zjisti pod jakým uživatelem běží ftp daemon a právě ten uživatel by měl být vlastníkem adresáře včetně sub...
pak stačí něco jako:
sudo chown proftpd -R /var/www/
-
|Zdravím
Tak se probírám příkazy chown a chmod a zatím jsem na začátku, ale snažim se :D
Ale k věci zkoušel jsem příkaz
chown proftpd -R /home/disk/
kde disk má být adresář přístupný z sítě a je to adresář uživatele kterého jsem založil po vytvoření ftp serveru. Toho uživatele /diskobola/ jsem přiřadil do skupiny ftp. Založený byl ale v rootu. No a ted nemohu přijít na to komu vlastně patří ftp. |Dle mého názoru rootu ale at jsem zkoušel zadat výše uvedený příkaz pod rootem nebo pod diskobolem nebo pod ja vždy mi to napsalo, že je to neplatný uživatel.
Jak je to tedy správně?
ftp patři rootu protože v něm se knfiguruje
ftp patří defalt /ja/ protože v něm jsem to vše dělal
ftp patří diskobolu protože toho jsem zařadil do skupiny ftp
ale ani u jednoho se mi příkaz spustit nepodařilo. Mám v tom ted trochu (hodně( velký "hokej" :'(
-
V konfiguraci proftpd (předpokládám, že je to démon který máte nainstalovaný) jsou direktivy User a Group ty nastavují uživatele pod kterým bude server běžet. Většinou je potřeba toho uživatele a jeho skupinu do systému vložit (pokud jste to již nedělal) tak třeba nějak takto (pozn.: změnte si uživatele podle svého systému):
groupadd -g 2001 ftpgroup
useradd -u 2001 -s /bin/false -d /bin/null -c "proftpd user" -g ftpgroup ftpuser
Následně příkazy na nastavení vlastníka složek
sudo chown ftpuser:ftpgroup -R /slozka/kde/je
a případně práva
sudo chmod 764 -R /slozka/kde/je