Настройка правил tftp-hpa
Здравствуйте! Я хочу чтобы файл test, мой tftp сервер отдавал мне при всех комбинациях слова test вне зависимости от регистра, т.е. Test, TEST, TeSt, TEst и т.д. Насколько мне известно любой сервер tftp под Linux чувствителен к регистру, но есть один tftp сервер tftp-hpa, для которого можно создать правила замены символов, которые содержатся в строке запроса. Т.о. я решил создать правила, которые заменяют все заглавные буквы на строчные. Например если я делаю запрос get TeSt, то сервер заменит слово TeSt на test, а именно первую и третью букву T->t и S->s и я естественно получу свой файл.
Что я делаю:
1. Установил Ubuntu Server 10.10
2. Установил Samba (sudo apt-get install samba)
3. Настроил Samba. Содержимое /etc/smb.conf:
[global]
workgroup = WORKGROUP
security = share
[tftp]
path = /srv/tftp
guest only = yes
writeable = yes
4. Создал директорию и дал права доступа 777 и владельца nobody (sudo mkdir -m 777 /srv/tftp и sudo chown nobody /srv/tftp)
5. Установил tftp-hpa (sudo apt-get install tftp-hpa tftpd-hpa)
6. Настроил tftp-hpa. Содержимое /etc/default/tftpd-hpa:
# /etc/default/tftpd-hpa
TFTP_USERNAME=«tftp»
TFTP_DIRECTORY=«/srv/tftp»
TFTP_ADDRESS=«0.0.0.0:69»
#TFTP_OPTIONS="--security"
7. Проверил работоспособность tftp сервера. Создал файл test в /srv/tftp (права доступа и владелец = 777 и nobody). Далее
tftp localhost
get test
Все работает. Файл был успешно передан в мою директорию. Содержимое не пострадало. Пробую получить get Test, сервер его естественно не находит т.к. правил я еще не создал.
8. Создаю файл tftpd.rules (т.е. правила замены) со следующим содержанием:
rg \\ /
rg A a
rg B b
rg C c
rg D d
rg E e
rg F f
rg G g
rg H h
rg I i
rg J j
rg K k
rg L l
rg M m
rg N n
rg O o
rg P p
rg Q q
rg R r
rg S s
rg T t
rg U u
rg V v
rg W w
rg X x
rg Y y
rg Z z
Кладу его в каталог /etc (хотя не важно как он будет называться и где он будет лежать если я правильно понимаю)
9. Редактирую /etc/default/tftpd-hpa:
# /etc/default/tftpd-hpa
TFTP_USERNAME=«tftp»
TFTP_DIRECTORY=«/srv/tftp»
TFTP_ADDRESS=«0.0.0.0:69»
#TFTP_OPTIONS="-m /etc/tftpd.rules"
10. Перезапускаю сервер (sudo restart tftpd-hpa)
11. Проверяю работоспособность п.7 и получаю в ответ ошибку:
Error code 2: Only absolute filenames allowed
12. Редактирую /etc/default/tftpd-hpa:
# /etc/default/tftpd-hpa
TFTP_USERNAME=«tftp»
TFTP_DIRECTORY=«/srv/tftp»
TFTP_ADDRESS=«0.0.0.0:69»
#TFTP_OPTIONS="--security"
13. Перезапускаю сервер (sudo restart tftpd-hpa)
14. Проверяю работоспособность п.7 и получаю в ответ ошибку:
Error code 2: Only absolute filenames allowed
В чем подвох не могу понять. Пожалуйста помогите!