вывод в iptables

Оболочки отслеживают символические ссылки в качестве удобства для пользователей. Это имеет приятный эффект, который CD Foo && CD. Всегда возвращается в исходный каталог, даже когда foo - это символическая ссылка на каталог. Он имеет два вида потенциалов: главное - это то, что другие программы не ведут себя таким образом; Кроме того, символическое отслеживание каталога вводит свои собственные проблемы (что происходит, когда символическая ссылка меняется? Что произойдет, если этот процесс не имеет разрешения на чтение SymLink? и т. Д.).

Оболочки могут сделать это только потому, что они отслеживают все изменения каталога, поэтому они помнят, как у вас там. Когда начинается новый процесс, он не получает эту историческую информацию. Под капотом он находит, где он движется вверх из текущего каталога, следуя .. Ссылки, пока он не попадает в root¹.

Если вы достигли каталога через символические ссылки, вы можете распечатать путь Man-SymLink с помощью встроенного PWD , вызывая PWD -P . Если вы вызываете другую программу из оболочки, не передавайте ее путь, который содержит .. После компонентов SymLink, поскольку программа будет интерпретировать ее по-разному. Вместо этого устраняют компоненты .. .. .. . . . . . компоненты, вызывая PWD -P :

cp "$(cd .. && pwd -P && echo /)test-parent.txt" .

Если вы хотите забыть о SymLinks, используемых в прошлом CD CD в сеансе оболочки , Вы можете запустить

cd "$(pwd -P && echo /.)"

. Это изменение в том, что уже является текущим каталогом, поэтому он не изменяет текущий каталог процесса оболочки, но он меняет путь, который оболочка отслеживается для текущего каталога, что делает его SymLink Отказ

¹ Так как работает getcwd . Некоторые ядра отслеживают текущий каталог, но не отслеживают символические ссылки, для обратной совместимости, если для какой-либо другой причины (но также из-за тонких краевых случаев с символическими ссылками).

0
27.03.2015, 15:19
2 ответа

Вы сделали обслуживание iptables после добавления его в файл? Этот файл только для постоянной конфигурации. Если вы хотите сделать его активным, вы должны перезапустить сервис.

0
28.01.2020, 05:06

Вы можете попробовать -V -V iptables :

iptables -L -v
-1
28.01.2020, 05:06

Теги

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