Можно добавить цифровой отпечаток к known_hosts каждого сервера. Для отдельного пользователя:
cat ~/.ssh/known_hosts
echo "$SERVER,$PORT ssh-rsa $SERVER_KEY_FINGERPRINT" >> ~/.ssh/known_hosts
Проверка значения sysctl переменной так же легка как
sysctl <variable name>
и, между прочим, установка sysctl переменной так же проста как
sudo sysctl -w <variable name>=<value>
но изменения пробились, будет, вероятно, содержать только до следующей перезагрузки.
Относительно который из местоположений конфигурации, /etc/sysctl.conf
или /etc/sysctl.d/
, имеет приоритет, вот что /etc/sysctl.d/README
файл говорит:
Конечные пользователи могут использовать 60 - *.conf и выше или использовать/etc/sysctl.conf непосредственно, который переопределяет что-либо в этом каталоге.
После редактирования конфигурации в любом этих двух местах изменения могут быть применены с
sudo sysctl -p
Этот вид материала обычно находится в /proc
и/или /sys
интерфейсы ядра (сначала, имейте в виду, что ничто в тех каталогах не регулярный дисковый файл, они - все прямые линии к ядру).
Так, например:
»for x in /proc/sys/net/ipv4/conf/*/rp_filter; do echo -ne "$x "`cat $x`"\n"; done
/proc/sys/net/ipv4/conf/all/rp_filter 0
/proc/sys/net/ipv4/conf/default/rp_filter 1
/proc/sys/net/ipv4/conf/em1/rp_filter 1
/proc/sys/net/ipv4/conf/lo/rp_filter 0
/proc/sys/net/ipv4/conf/wlan0/rp_filter 1
Похож у меня есть набор rp_filter для em1, wlan0, и "значение по умолчанию". Можно установить или сбросить их просто пишущий в дескриптор файла:
»cd /proc/sys/net/ipv4/conf/lo
»echo 1 > rp_filter
»cat rp_filter
1
»echo 0 > rp_filter
»cat rp_filter
0
Как упомянуто, это - прямая связь с ядром, так, чтобы сразу вступил в силу. Это не конфигурационные файлы. При попытке сделать что-то не так:
»echo whatever > rp_filter
bash: echo: write error: Invalid argument
Который не должен говорить, что Вы не можете завинтить вещи этот путь, конечно. И обязательно прочитайте комментарии ниже.
sysctl -a
...
– derobert
07.12.2012, 18:21
sysctl
(см. man 2 sysctl
), однако, это не портировано на большинство других языков (это находится в некоторых), и в этих случаях наилучший вариант состоит в том, чтобы читать или записать в proc. Может случиться так что удар echo
может перестать работать, поскольку я могу сказать, что поток высокого уровня функции ввода-вывода, доступные в C и других языках, может. Низкоуровневое чтение-запись не будет, как бы то ни было. В любом случае знание об интерфейсе proc важно, который является, почему я поднял его...
– goldilocks
12.12.2012, 16:28
Чтобы завершить принятый ответ , хотя это правда, что настройки /etc/sysctl.conf
имеют приоритет над настройками в /etc/sysctl.d/
, пример, представленный в исходном вопросе, показывает две закомментированные переменные в/etc/sysctl.conf
:
#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1
и те же переменные, не закомментированные в/etc/sysctl.d/10-network-security.conf
:
net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
Это может ввести в заблуждение, поскольку комментарий — это не настройка, а только примечание того, что может быть настройкой.
В этой ситуации обе переменные на самом деле установлены в 1, несмотря на то, что в более сильном конфигурационном файле они закомментированы.
Если бы в /etc/sysctl.conf
мы имели:
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0
тогда переменные в конечном итоге будут установлены на 0.
sysctl -e
для редактирования иsysctl -f
для выполнения конфигурации? – Nils 08.12.2012, 23:01