Я думаю, что это хороший вариант использования символических ссылок . (Предполагается, что у вас есть root
доступ.)
Поместите файл .exrc
в удобное для чтения место. Возможно / usr / local / share /
, хотя на самом деле я думаю, что / usr / etc /
будет уместным.
sudo mv -i ~/.exrc /usr/etc/
chown
его как root и установите права доступа 644.
cd /usr/etc/
sudo chown root:root .exrc
sudo chmod 644 .exrc
Создайте символическую ссылку в своем домашнем каталоге следующим образом:
ln -s /usr/etc/.exrc ~/.exrc
И также в домашнем каталоге другого пользователя:
ln -s /usr/etc/.exrc ~anotheruser/.exrc
Вам все равно нужно будет использовать su - anotheruser
или su -l anotheruser
, как вы можете видеть на странице руководства:
-, -l, --login сделать оболочку оболочка входа в систему, очищает все envvars, кроме TERM, инициализирует HOME, SHELL, USER, LOGNAME и PATH
Поскольку .exrc
загружается в зависимости от вашего Переменная среды $ HOME
, которую необходимо установить соответствующим образом, чтобы это работало.
Сократите набор правил до минимума и начните тестирование с этого момента. Есть некоторые повторяющиеся правила, которые могут противоречить друг другу. Я бы начал с:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A PREROUTING -i eth0 -p udp -m udp --dport 11108 -j DNAT --to-destination 169.254.1.2:11108
Я бы также использовал watch
, чтобы увидеть, какие цепочки / правила попадают в пакеты.
watch -n1 iptables -vnL
watch -n1 iptables -vnl -t nat
Адрес APIPA не обязательно лучше всего использовать для клиента, но это не должен влиять на получение пакетов.