Přihlásit
: [1]
   |   
: [VYŘEŠENO] FTP adresář na serveru připojit uživatelům jako další "disk"(adresář)  ( 8186 )
tomba
Newbie
*

Karma: 0
: 41


« : May 02, 2011, 13:35:11 »

Dobrý den,

pídil jsem se raději po odpovědi na internetu, ale nenašel uspokojivou. Nejlépe popsáno to bylo asi tady: http://www.linuxexpres.cz/blog/ftp-jako-lokalni-adresar
Bohužel i to by mělo vyžadovat od jednolivých uživatelů, aby si vždy ten adresář připojili (mount).

Současný stav:
server (linuxový) - má nastavené FTP na jeden adresář
stanice (linuxové - Mandriva 2010.2 64-bit) - potřebují k tomu adresáři přistupovat, jako by byl u nich bez nějakého zásahu od nich (bude se používat nejen na jejich soubory, ale i na šablony dokumentů atd.)

Děkuji za rady, případně alespoň odkazy, kde je to dobře popsané (vyhledával jsem na google.cz "linux ftp připojit jako disk" i jiné variace, ale nic moc jsem kromě výše uvedeného nenašel).
« : May 03, 2011, 07:43:35 tomba »
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #1 : May 02, 2011, 13:39:01 »

řešením je:

:
curlftpfs -o user=login:heslo -- FTPserver /mount/point
kde FTPserver je (např.) 192.168.0.1 nebo ftp.cz

odpojuje se:
:
fusermount -u /mount/point

daný příkaz pro připojení napiš do ~/.bashrc každého uživatele a je to... neřeším víc, bude se připojovat automaticky po přihlášení...
« : May 02, 2011, 13:41:22 Peťoš »

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
tomba
Newbie
*

Karma: 0
: 41


« #2 : May 02, 2011, 18:41:05 »

Děkuji za tak rychlou odpověď. Až se stydím, že musím napsat, že mi to nefunguje (už to připojení FTP).

V souboru .bashrc (v domovském adresáři uživatele) je toto (řádek s curlftpfs jsem zapsal já. Místo xx v IP a místo xx v hesle jsou samozřejmě znaky, které tam mají být podle nastavení serveru):
:
# .bashrc

# User specific aliases and functions
curlftpfs -o user=ftp_hlavni:xxx xxx xxxxxxx -- xx.xxx.xxx.xx /mnt/point

# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

Vidím tam několik možných problémů, ale nevím jak je řešit:
1) heslo má mezery a možná se pak má do souboru zapsat ne s mezerama, ale s nějakým zástupným znakem
2) adresář jsem změnit na /mnt/ (mount u mě neexistuje), ale měl jsem i vytvořit adresář /mnt/point/, ale nechci do toho zasahovat, když nevím ani, jaká práva mu nastavit

- pro informaci, balíček s curlftpfs mám nainstalovaný, tím by to nemělo být...
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #3 : May 02, 2011, 18:45:43 »

mezery v heslu? No jasně, že to je tím. Takže heslo vlož do uvozovek nebo pomocí escape znaku \  ( \mezera ). Případně napiš, co to píše v terminálu, když to sám zadáváš.

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
tomba
Newbie
*

Karma: 0
: 41


« #4 : May 02, 2011, 19:01:00 »

Pomohlo dát to do uvozovek. Zkusil jsem v terminálu a tam mě to vyhodilo hlášku, že není takový adresář. Vytvořil jsem tedy adresář point a už to šlo, jenže nevím, jaká práva bych mu měl nastavit, aby to fungovalo bez problémů a přitom to nenastavil až tak, aby to narušilo třeba bezpečnost systému... Poradíš mi prosím ještě s tímto? Děkuji moc.

A ještě jeden dotaz - ten unmount příkaz mám dát taky někde do toho souboru?
« : May 02, 2011, 19:24:04 tomba »
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #5 : May 02, 2011, 22:00:20 »

Práva se nastaví sama a myslím, že správně. A ten umount použiješ tehdy, budeš-li to chtít ručně odpojit. Při restartu se to udělá samo. Rozhodně ne do bashrc, jinak se to připojí a poté ihned odpojí

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
tomba
Newbie
*

Karma: 0
: 41


« #6 : May 03, 2011, 07:42:44 »

Děkuji za pomoc, teď už to funguje jak má.
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #7 : May 03, 2011, 07:47:03 »

Není zač.Hlavně, že to jede

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
Ivan Bibr
Administrator
Hero Member
*****

Karma: 52
: 3 298



« #8 : May 03, 2011, 18:19:24 »

.... Při restartu se to udělá samo. Rozhodně ne do bashrc, jinak se to připojí a poté ihned odpojí

Nutno dodat, že existuje .bash_logout - jen nevím, bude-li pro toto použitelný.

pert2
Sr. Member
****

Karma: 9
: 291


« #9 : May 03, 2011, 19:18:25 »

Nebylo by vhodnější napsat ten příkaz na připojení do ~/.bash_profile, kde se spustí pouze jednou, a to při přihlášení daného uživatele?

Jestli se nepletu, příkazy v ~/.bashrc se spustí vždy, když si uživatel spustí non-login shell (např. xterm, gnome-terminal, konsole, rxvt atd.). Takže 5x spuštěný xterm = 5x spuštěný příkaz v ~/.bashrc...
Peťoš
Global Moderator
Hero Member
*****

Karma: 188
: 6 712



« #10 : May 03, 2011, 21:12:35 »

no, ještě lepší je to trochu "ošetřit":

:
FTPSER=$(cat /etc/mtab | grep curlftpfs#ftp://server/ | awk '{print $1}')

if [ ${FTPSER} = "curlftpfs#ftp://server/" ]; then
    curlftpfs -o user=ftp_hlavni:xxx xxx xxxxxxx -- xx.xxx.xxx.xx /mnt/point
fi

Do it or do not. There is no "try".

Peťošův repozitář je na adrese: http://petos.cz/rpms
Fotoblog: http://vzducholode.blogspot.com a http://petos.cz/category/fotky
tomba
Newbie
*

Karma: 0
: 41


« #11 : May 04, 2011, 15:12:48 »

Mám to raději změnit?

Sice mi to háže při spuštění terminálu nějakou neškodnou hlášku, ale to mi nevadí natolik, abych kvůli tomu přepisoval u všech stanic tady tu konfiguraci :-)

PS: Peťoš nebo Ivan Bibr - mohli byste se jako zkušení podívat na toto další mé téma a poradit mi tam. Nikdo se k tomu zatím nemá:
http://forum.mandrivalinux.cz/index.php?topic=12985.0

Děkuji
pert2
Sr. Member
****

Karma: 9
: 291


« #12 : May 04, 2011, 20:07:26 »

no, ještě lepší je to trochu "ošetřit":

:
FTPSER=$(cat /etc/mtab | grep curlftpfs#ftp://server/ | awk '{print $1}')

if [ ${FTPSER} = "curlftpfs#ftp://server/" ]; then
    curlftpfs -o user=ftp_hlavni:xxx xxx xxxxxxx -- xx.xxx.xxx.xx /mnt/point
fi

Osobně používám trochu jednodušší "ošetření":
:
if ! mountpoint -q /mnt/point; then
    curlftpfs -o user=ftp_hlavni:xxx xxx xxxxxxx -- xx.xxx.xxx.xx /mnt/point
fi
: [1]
   |   
 
: