Краткий ответ: нельзя.
Длинный ответ: Дистрибутив Linux содержит несколько различных программ, которые составляют всю операционную систему, а именно ядро, coreutils, некоторую оболочку и другие утилиты.
У вас есть два способа проверить, безопасно ли использование дистрибутива:
Вам нужно будет прочитать очень много кода: ядро составляет ~ 210K LOC (строк кода) - теперь добавьте драйверы (также много LOC), coreutils, базовые программы ... Это работа на многие годы. И это по-прежнему не гарантирует, что оно не является вредоносным - вы можете что-то пропустить, это может быть запутано или связано с аппаратной ошибкой.
Кроме того, безопасность - это нечто большее, чем просто злонамеренность. Вы можете (отчасти) получить приличный уровень уверенности в отсутствии вредоносного кода, но вы (почти) никогда не можете быть уверены, что ваша программа действительно безопасна. Такие вещи, как HeartBleed и ShellShock просто случаются; никто не может им помешать.
Это более разумная попытка.Вы выбираете группу людей, которым доверяете, и используете их программы, веря в их добрую волю. Вы можете перейти на страницу Фонда свободного программного обеспечения - эти люди серьезно относятся к своей конфиденциальности и свободе. Они одобряют только ограниченные дистрибутивы, которые являются полностью бесплатными и открытыми программами, поэтому вы можете прочитать его исходный код. Их не так много людей, поэтому поддержка может быть ограничена, но это хорошая ставка.
Вы также можете доверять другим людям - например, разработчикам Gentoo, Debian или Fedora (или любого другого дистрибутива). Они собирают свои дистрибутивы, объединяют некоторые программы и выпускают их - может быть, у них нет плохих намерений?
Личное примечание: я считаю безопасность, конфиденциальность и свободу важными ценностями. Тем не мение; есть грань между параноиком и заботой об этих ценностях. RMS параноик; это не обязательно плохо, потому что его голос громкий и то, что он говорит, ясно. Многие люди начинают заботиться о свободе благодаря RMS.
Тем не менее, все это не гарантирует безопасности. Закон Линуса не так прост, и он не всегда работает. Многие думают, что из-за того, что исходный код открыт, его читают другие, поэтому им нет необходимости читать исходный текст самим. Остается небольшая группа, прочитавшая код, и еще меньшая группа тех, кто его понял. Это все же лучше, чем правильность, но не так безопасно, как рекламируется.
Если вы хотите быть в полной безопасности, выключите компьютер и разберите его. Это единственный способ быть уверенным на 100%.
Можно просто:
$ ip link show
для списка интерфейсов, включая их статус. Вы можете отфильтровать результаты для устройств, которые не используются, пропустив grep DOWN
после команды ip
:
$ ip link show | grep DOWN
ip link show |
awk '/^[1-9]/ && $0 !~ "LOWER_UP" { inf=$2; sub(":","",inf); print inf; }' |
while read iface; do
[[ $(readlink /sys/class/net/$iface) =~ devices/virtual ]] || echo $iface
done
Первая часть(ip link show | awk
)получает все интерфейсы, для которых драйвер L2 сообщает, что они подключены. Вторая часть отбрасывает все виртуальные интерфейсы, потому что «не подключен» для них мало что значит.
Вы можете проверить состояние сетевого интерфейса из файла /sys/class/net/$interface/carrier
.(1
= подключен, 0
= отключен)
Чтобы получить отключенный сетевой интерфейс:
for i in $( ls /sys/class/net );do
if grep -q 0 /sys/class/net/$i/carrier; then
echo $i;
fi
done