Gentoo->монтирование FTP сайтов к файловой системе Linux
Ранее я уже писал о успешном опыте использования автомонтажника autofs, а сейчас хочу поделиться ещё одним удобным его свойством.
Те люди, которые много работают с FTP и серверы, как правило одни и те же, могут сделать любую папку в их файловой системе, точкой доступа к FTP серверу. А autofs, при этом обеспечит стабильный коннект, реконнект (если понадобится и при этом шара не зависнет) и автоматическое отключение от сервера, если он долго не используется. В общем - autofs ведёт себя как любой другой, нормальный FTP клиент, разница лишь в том, что результат его работы в файловой системе, а не в окошке программы.
Первое что нам понадобится, это модуль fuse, который должен быть собран модулем в ядре. В menuconfig поставьте букву 'M' по адресу File systems ---> FUSE (Filesystem in Userspace) support и пересоберите ядро.
Теперь, когда модуль у нас в системе, можно его загрузить: modprobe fuse.
Поставим его на автозагрузку:
Теперь поставим необходимый софт:
Теперь, создадим такие скрипты:
/sbin/mount.curl
/sbin/umount.curl
Не забываем про права.
Теперь главное и последние. Настроим autofs.
В /etc/auto.master добавьте строчку:
Создайте файл /etc/auto.ftp с содержимым:
Теперь в /root/.netrc укажем пароли:
но лично мне, этот способ нравится меньше.
Итак, запустим autofs:
Поставим его на автозагрузку:
Теперь к FTP можно обращаться вот так:
echo "fuse" >> /etc/modules.autoload.d/kernel-2.6
emerge -av sys-fs/fuse net-fs/curlftpfs net-fs/autofs
- #!/bin/sh
- curlftpfs $1 $2 -o $4,disable_eprt
- #!/bin/sh
- fusermount -u $1
- chmod 755 /sbin/mount.curl
- chmod 755 /sbin/umount.curl
/ftp /etc/auto.ftp --timeout=1 --ghost
имя_ftp_сервера -fstype=curl,allow_other :ftp\://адрес_ftp_сервера
machine имя_ftp_сервера login логин password парольМожно указывать логин\пароль и в соединении вот так:
имя_ftp_сервера -fstype=curl,allow_other :ftp\://логин\:пароль\@имя_ftp_сервера
/etc/init.d/autofs start
rc-update add autofs default
- sb0y@box / $ ls /ftp/do-6.ru/
- firewall for_1c kardos.ru localhost magazine new_kardos.ru Scan(Form33) vhosts workground
nEcdyGgx 13 Augustа в 18:26 #
555
nEcdyGgx 13 Augustа в 18:30 #
555
nEcdyGgx 13 Augustа в 18:30 #
555
nEcdyGgx 13 Augustа в 18:30 #
555
nEcdyGgx 13 Augustа в 18:30 #
555
nEcdyGgx 13 Augustа в 18:30 #
-1 OR 2+77-77-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:30 #
-1 OR 3+77-77-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:30 #
-1 OR 3*2
nEcdyGgx 13 Augustа в 18:30 #
-1 OR 3*2>(0+5+77-77) --
nEcdyGgx 13 Augustа в 18:30 #
-1 OR 2+14-14-1=0+0+0+1
nEcdyGgx 13 Augustа в 18:30 #
-1 OR 3+14-14-1=0+0+0+1
nEcdyGgx 13 Augustа в 18:30 #
-1 OR 3*2
nEcdyGgx 13 Augustа в 18:30 #
-1 OR 3*2>(0+5+14-14)
nEcdyGgx 13 Augustа в 18:30 #
-1' OR 2+203-203-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:30 #
-1' OR 3+203-203-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:30 #
-1' OR 3*2
nEcdyGgx 13 Augustа в 18:30 #
-1' OR 3*2>(0+5+203-203) --
nEcdyGgx 13 Augustа в 18:30 #
-1' OR 2+510-510-1=0+0+0+1 or 'Yrv7b6lA'='
nEcdyGgx 13 Augustа в 18:30 #
-1' OR 3+510-510-1=0+0+0+1 or 'Yrv7b6lA'='
nEcdyGgx 13 Augustа в 18:30 #
-1' OR 3*2
nEcdyGgx 13 Augustа в 18:30 #
-1' OR 3*2>(0+5+510-510) or 'Yrv7b6lA'='
nEcdyGgx 13 Augustа в 18:30 #
-1" OR 2+878-878-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:30 #
-1" OR 3+878-878-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:30 #
-1" OR 3*2
nEcdyGgx 13 Augustа в 18:30 #
-1" OR 3*2>(0+5+878-878) --
nEcdyGgx 13 Augustа в 18:30 #
if(now()=sysdate(),sleep(15),0)
nEcdyGgx 13 Augustа в 18:30 #
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
nEcdyGgx 13 Augustа в 18:30 #
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
nEcdyGgx 13 Augustа в 18:30 #
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
nEcdyGgx 13 Augustа в 18:30 #
-1; waitfor delay '0:0:15' --
nEcdyGgx 13 Augustа в 18:30 #
-1); waitfor delay '0:0:15' --
nEcdyGgx 13 Augustа в 18:30 #
1 waitfor delay '0:0:15' --
nEcdyGgx 13 Augustа в 18:30 #
rvYbrRki'; waitfor delay '0:0:15' --
nEcdyGgx 13 Augustа в 18:30 #
-5 OR 347=(SELECT 347 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:30 #
-5) OR 636=(SELECT 636 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:30 #
-1)) OR 601=(SELECT 601 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:31 #
TTCExbbp' OR 779=(SELECT 779 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:31 #
yosGnBWP') OR 849=(SELECT 849 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:31 #
bTcuyUPa')) OR 615=(SELECT 615 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:31 #
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
nEcdyGgx 13 Augustа в 18:31 #
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
nEcdyGgx 13 Augustа в 18:31 #
1'"
nEcdyGgx 13 Augustа в 18:31 #
@@BEaJe
nEcdyGgx 13 Augustа в 18:47 #
555
nEcdyGgx 13 Augustа в 18:47 #
555
nEcdyGgx 13 Augustа в 18:47 #
555
nEcdyGgx 13 Augustа в 18:47 #
555
nEcdyGgx 13 Augustа в 18:48 #
555
nEcdyGgx 13 Augustа в 18:48 #
-1 OR 2+278-278-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:48 #
-1 OR 3+278-278-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:48 #
-1 OR 3*2
nEcdyGgx 13 Augustа в 18:48 #
-1 OR 3*2>(0+5+278-278) --
nEcdyGgx 13 Augustа в 18:48 #
-1 OR 2+97-97-1=0+0+0+1
nEcdyGgx 13 Augustа в 18:48 #
-1 OR 3+97-97-1=0+0+0+1
nEcdyGgx 13 Augustа в 18:48 #
-1 OR 3*2
nEcdyGgx 13 Augustа в 18:48 #
-1 OR 3*2>(0+5+97-97)
nEcdyGgx 13 Augustа в 18:48 #
-1' OR 2+90-90-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:48 #
-1' OR 3+90-90-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:48 #
-1' OR 3*2
nEcdyGgx 13 Augustа в 18:48 #
-1' OR 3*2>(0+5+90-90) --
nEcdyGgx 13 Augustа в 18:48 #
-1' OR 2+941-941-1=0+0+0+1 or 'TqB1d1vC'='
nEcdyGgx 13 Augustа в 18:48 #
-1' OR 3+941-941-1=0+0+0+1 or 'TqB1d1vC'='
nEcdyGgx 13 Augustа в 18:48 #
-1' OR 3*2
nEcdyGgx 13 Augustа в 18:48 #
-1' OR 3*2>(0+5+941-941) or 'TqB1d1vC'='
nEcdyGgx 13 Augustа в 18:48 #
-1" OR 2+500-500-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:48 #
-1" OR 3+500-500-1=0+0+0+1 --
nEcdyGgx 13 Augustа в 18:48 #
-1" OR 3*2
nEcdyGgx 13 Augustа в 18:48 #
-1" OR 3*2>(0+5+500-500) --
nEcdyGgx 13 Augustа в 18:48 #
if(now()=sysdate(),sleep(15),0)
nEcdyGgx 13 Augustа в 18:48 #
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
nEcdyGgx 13 Augustа в 18:48 #
0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z
nEcdyGgx 13 Augustа в 18:48 #
(select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/
nEcdyGgx 13 Augustа в 18:48 #
-1; waitfor delay '0:0:15' --
nEcdyGgx 13 Augustа в 18:48 #
-1); waitfor delay '0:0:15' --
nEcdyGgx 13 Augustа в 18:48 #
1 waitfor delay '0:0:15' --
nEcdyGgx 13 Augustа в 18:48 #
4zWLn8Wd'; waitfor delay '0:0:15' --
nEcdyGgx 13 Augustа в 18:48 #
-5 OR 556=(SELECT 556 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:48 #
-5) OR 231=(SELECT 231 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:48 #
-1)) OR 575=(SELECT 575 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:48 #
OWYW7v92' OR 154=(SELECT 154 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:48 #
AarrG3h1') OR 564=(SELECT 564 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:48 #
ZzX2MVgZ')) OR 912=(SELECT 912 FROM PG_SLEEP(15))--
nEcdyGgx 13 Augustа в 18:48 #
555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
nEcdyGgx 13 Augustа в 18:48 #
555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'
nEcdyGgx 13 Augustа в 18:48 #
1'"
nEcdyGgx 13 Augustа в 18:48 #
@@JoAdj
nEcdyGgx 13 Augustа в 18:54 #
555