Ранее я уже писал о успешном опыте использования автомонтажника autofs, а сейчас хочу поделиться ещё одним удобным его свойством. Те люди, которые много работают с FTP и серверы, как правило одни и те же, могут сделать любую папку в их файловой системе, точкой доступа к FTP серверу. А autofs, при этом обеспечит стабильный коннект, реконнект (если понадобится и при этом шара не зависнет) и автоматическое отключение от сервера, если он долго не используется. В общем - autofs ведёт себя как любой другой, нормальный FTP клиент, разница лишь в том, что результат его работы в файловой системе, а не в окошке программы. Первое что нам понадобится, это модуль fuse, который должен быть собран модулем в ядре. В menuconfig поставьте букву 'M' по адресу File systems ---> FUSE (Filesystem in Userspace) support и пересоберите ядро. Теперь, когда модуль у нас в системе, можно его загрузить: modprobe fuse. Поставим его на автозагрузку:
echo "fuse" >> /etc/modules.autoload.d/kernel-2.6
Теперь поставим необходимый софт:
emerge -av sys-fs/fuse net-fs/curlftpfs net-fs/autofs
Теперь, создадим такие скрипты: /sbin/mount.curl
  1. #!/bin/sh
  2. curlftpfs $1 $2 -o $4,disable_eprt
/sbin/umount.curl
  1. #!/bin/sh
  2. fusermount -u $1
Не забываем про права.
  1. chmod 755 /sbin/mount.curl
  2. chmod 755 /sbin/umount.curl
Теперь главное и последние. Настроим autofs. В /etc/auto.master добавьте строчку:
/ftp    /etc/auto.ftp   --timeout=1     --ghost
Создайте файл /etc/auto.ftp с содержимым:
имя_ftp_сервера -fstype=curl,allow_other :ftp\://адрес_ftp_сервера
Теперь в /root/.netrc укажем пароли:
machine имя_ftp_сервера   
login логин
password пароль
Можно указывать логин\пароль и в соединении вот так:
имя_ftp_сервера -fstype=curl,allow_other    :ftp\://логин\:пароль\@имя_ftp_сервера
но лично мне, этот способ нравится меньше. Итак, запустим autofs:
/etc/init.d/autofs start
Поставим его на автозагрузку:
rc-update add autofs default
Теперь к FTP можно обращаться вот так:
  1. sb0y@box / $ ls /ftp/do-6.ru/
  2. firewall  for_1c  kardos.ru  localhost  magazine  new_kardos.ru  Scan(Form33)  vhosts  workground


nEcdyGgx

nEcdyGgx 13 Augustа в 18:26 #

555

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

555

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

555

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

555

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

555

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1 OR 2+77-77-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1 OR 3+77-77-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1 OR 3*2

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1 OR 3*2>(0+5+77-77) --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1 OR 2+14-14-1=0+0+0+1

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1 OR 3+14-14-1=0+0+0+1

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1 OR 3*2

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1 OR 3*2>(0+5+14-14)

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1' OR 2+203-203-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1' OR 3+203-203-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1' OR 3*2

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1' OR 3*2>(0+5+203-203) --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1' OR 2+510-510-1=0+0+0+1 or 'Yrv7b6lA'='

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1' OR 3+510-510-1=0+0+0+1 or 'Yrv7b6lA'='

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1' OR 3*2

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1' OR 3*2>(0+5+510-510) or 'Yrv7b6lA'='

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1" OR 2+878-878-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1" OR 3+878-878-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1" OR 3*2

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1" OR 3*2>(0+5+878-878) --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

if(now()=sysdate(),sleep(15),0)

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z

nEcdyGgx

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

nEcdyGgx 13 Augustа в 18:30 #

-1; waitfor delay '0:0:15' --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1); waitfor delay '0:0:15' --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

1 waitfor delay '0:0:15' --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

rvYbrRki'; waitfor delay '0:0:15' --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-5 OR 347=(SELECT 347 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-5) OR 636=(SELECT 636 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:30 #

-1)) OR 601=(SELECT 601 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:31 #

TTCExbbp' OR 779=(SELECT 779 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:31 #

yosGnBWP') OR 849=(SELECT 849 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:31 #

bTcuyUPa')) OR 615=(SELECT 615 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:31 #

555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

nEcdyGgx

nEcdyGgx 13 Augustа в 18:31 #

555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

nEcdyGgx

nEcdyGgx 13 Augustа в 18:31 #

1'"

nEcdyGgx

nEcdyGgx 13 Augustа в 18:31 #

@@BEaJe

nEcdyGgx

nEcdyGgx 13 Augustа в 18:47 #

555

nEcdyGgx

nEcdyGgx 13 Augustа в 18:47 #

555

nEcdyGgx

nEcdyGgx 13 Augustа в 18:47 #

555

nEcdyGgx

nEcdyGgx 13 Augustа в 18:47 #

555

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

555

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1 OR 2+278-278-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1 OR 3+278-278-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1 OR 3*2

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1 OR 3*2>(0+5+278-278) --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1 OR 2+97-97-1=0+0+0+1

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1 OR 3+97-97-1=0+0+0+1

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1 OR 3*2

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1 OR 3*2>(0+5+97-97)

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1' OR 2+90-90-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1' OR 3+90-90-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1' OR 3*2

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1' OR 3*2>(0+5+90-90) --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1' OR 2+941-941-1=0+0+0+1 or 'TqB1d1vC'='

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1' OR 3+941-941-1=0+0+0+1 or 'TqB1d1vC'='

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1' OR 3*2

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1' OR 3*2>(0+5+941-941) or 'TqB1d1vC'='

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1" OR 2+500-500-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1" OR 3+500-500-1=0+0+0+1 --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1" OR 3*2

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1" OR 3*2>(0+5+500-500) --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

if(now()=sysdate(),sleep(15),0)

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z

nEcdyGgx

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

nEcdyGgx 13 Augustа в 18:48 #

-1; waitfor delay '0:0:15' --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1); waitfor delay '0:0:15' --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

1 waitfor delay '0:0:15' --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

4zWLn8Wd'; waitfor delay '0:0:15' --

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-5 OR 556=(SELECT 556 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-5) OR 231=(SELECT 231 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

-1)) OR 575=(SELECT 575 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

OWYW7v92' OR 154=(SELECT 154 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

AarrG3h1') OR 564=(SELECT 564 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

ZzX2MVgZ')) OR 912=(SELECT 912 FROM PG_SLEEP(15))--

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

555*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

555'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

1'"

nEcdyGgx

nEcdyGgx 13 Augustа в 18:48 #

@@JoAdj

nEcdyGgx

nEcdyGgx 13 Augustа в 18:54 #

555


Войдите или зарегистрируйтесь, чтобы написать комментарий.