Судите xdg-user-dirs.
Та страница имеет пример, который должен работать на текущего пользователя:
test -f ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs && \
source ${XDG_CONFIG_HOME:-~/.config}/user-dirs.dirs
echo ${XDG_DESKTOP_DIR:-$HOME/Desktop}
Кроме того, если необходимо читать /etc/passwd
, лучше использовать вывод getent passwd
, потому что некоторые пользовательские данные могли бы храниться в NIS, LDAP или некоторой другой базе данных.
Объединение, что, таким образом, это работает на позвонившего пользователя USERSNAMEHERE
:
USER=USERSNAMEHERE
USERDIR=$(getent passwd $USER | cut -f 6 -d :)
USERDIRCONF=${XDG_CONFIG_HOME:-$USERDIR/.config}/user-dirs.dirs
test -f "$USERDIRCONF" && . "$USERDIRCONF"
echo "${XDG_DESKTOP_DIR:-$USERDIR/Desktop}"
хорошо, я закончил тем, что использовал / добавил диапазон пассивных портов в качестве обходного пути
-A THRU -i eth0 -p tcp -m tcp --dport 21333:21343 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
и установил этот диапазон в конфигурациях pure-ftpd.
echo "21333 21343" > /etc/pure-ftpd/conf/PassivePortRange
Печально, что Модуль nf_conntrack_ftp или iptables изменились или содержат ошибку, из-за которой соединение больше не отслеживается , как раньше в squeeze.
Читая вышесказанное, я не вижу, что такого волшебного в порте 21332. Все, что вы написали, должно работать хорошо при условии, что пассивным портом, выбранным FTP-сервером, является 21332. Однако, вы не показываете ничего, что гарантирует это. Возможно ли, что при недавнем обновлении ваш старый файл конфигурации ftpd - с некоторой записью, гарантирующей этот выбор порта - был перемещен в сторону?
Обратите внимание, что в журнале iptables, который вы опубликовали выше, dport равен 31437. Я остаюсь не уверен, что ftpd выбирает порт 21332, который кажется необходимым.