Доступ запрещен на ProFTPd на интерфейсе LAN

Предполагая, что -i означает установку и принимает два аргумента, вероятно, проще просто установить флаг -i в блоке getopts, а затем рассматривать аргументы, оставшиеся после обработки параметра, как репо и пакет, например

while getopts ":i" option; do
    case "$option" in
    i)
        mode=install
        ;;
    esac
done

shift $((OPTIND - 1))

case "$mode" in
install)
    apt-add-repository "$1"
    apt-get update
    apt-get install "$2"
    shift 2
    ;;
esac

Или, если идея состоит в том, чтобы взять список PPA и пакетов, что еще больше причин для этого, просто сделайте последний бит

case "$mode" in
install)
    for arg in "$@"; do
        case "$arg" in
            ppa:*)
                apt-add-repository "$arg"
                apt-get update
                ;;
            *)
                apt-get install "$arg"
                ;;
         esac
    done
    ;;
esac
0
19.02.2019, 08:15
1 ответ

Спасибо @wurtel за подсказку. Я проверил файл конфигурации proftpD и обнаружил два файла с именами hosts.allow и hosts.deny. Хотя содержимое этих двух файлов выглядит очень невинно.

/etc/hosts.allow

#ftpd  : xxx.xxx.xxx.xxx : deny
#sshd :.example.com : deny
#in.tftpd : xxx.xxx.xxx.xxx : deny
#bsnmpd : xxx.xxx.xxx.xxx : deny
ALL : ALL : allow

/etc/hosts.deny пуст

При дальнейшей проверке журналов сервера я обнаружил эти журналы ошибок.

Feb 18 21:51:55 foxnfish proftpd[19657]: 192.168.1.134 (192.168.1.2[192.168.1.2]) - mod_wrap/1.2.4: using access files: /etc/hosts.allow, /etc/hosts.deny 
Feb 18 21:51:55 foxnfish proftpd[19657]: 192.168.1.134 (192.168.1.2[192.168.1.2]) - mod_wrap/1.2.4: refused connection from ::ffff:192.168.1.2 
Feb 18 21:54:15 foxnfish proftpd[19659]: 192.168.1.134 (192.168.1.146[192.168.1.146]) - mod_wrap/1.2.4: using access files: /etc/hosts.allow, /etc/hosts.deny 
Feb 18 21:54:15 foxnfish proftpd[19659]: 192.168.1.134 (192.168.1.146[192.168.1.146]) - mod_wrap/1.2.4: allowed connection from iMac.xxx.xxx.xxx.net 

Таким образом, для моего беспроводного соединения мой исходный адрес разрешается в формате хоста локального домена. Но при подключении из сети Ethernet мой исходный адрес — это какой-то странный IP-адрес.Я предполагаю, что он не соответствует hosts.allow

Поскольку это встроенная сборка Nas4Free, я действительно не могу изменить файл hosts.allow. Быстрое решение — полностью отключить proftpd _modwrap _.

Для тех, кто использует proftpD на Nas4Free, вы можете отключить этот модуль, установив для proftpd _modwrap _значение NO вSystem|Advanced|rc.conf

0
28.01.2020, 03:59

Теги

Похожие вопросы