Xen, мост и несколько дюйм/с на CentOS

Урок извлечен: не выполняйте команды как корень, если Вы не знаете то, что они делают. При выполнении той команды как собственный пользователь Вы не смогли бы полить из шланга целую систему. Между прочим, тот веб-сайт является неправильным; только ~, ~/.ssh и ~/.ssh/authorized_keys не должно быть перезаписываемо группой (см., что раздел поиска и устранения неисправностей в нашем ssh отмечает Wiki).

Вы могли вытереть раздел, переустановить и восстановить важные файлы от резервных копий. (Если у Вас нет резервных копий, Вы ищете проблему. Первое, что нужно сделать однажды Ваша система назад в порядке, должен расположить некоторую систему автоматизированного резервного копирования. Не забывайте тестировать его.)

Команда, которую Вы выполнили, не является слишком разрушительной, можно восстановиться с нее. Основное препятствие - то, что Вы отключили нормальные методы получения корневого доступа. Однако Вы обязаны пропустить несколько полномочий и закончиться с немного поврежденной системой. Таким образом, я рекомендую переустановить после сохранения всех важных данных.

Если Вы имеете пароль root и консольный доступ, переключаетесь на текстовую консоль (нажмите Ctrl+Alt+F1), и войдите в систему как корень. Если Вы не имеете пароля root, но имеете консольный доступ, перезагружаете машину, и когда меню начальной загрузки подходит, выберите “спасательную” запись, если Вы имеете один, или если Вы затем не редактируете нормальную запись загрузки и добавляете init=/bin/sh в конце строки, которая начинается kernel. См. также, Как я вхожу в свой ноутбук Linux, если я забыл и вход в систему и пароль?. Другая возможность, если у Вас есть консольный доступ, состоит в том, чтобы загрузить из Linux живой CD, такой как Системное Спасение CD. Если у Вас нет консольного доступа, объясните свою установку очень точно, если Вы нуждаетесь в помощи, получая корневую оболочку (возможно, спрашивают об этом как отдельный вопрос).

Теперь, когда Вы имеете корневую оболочку, восстанавливаете самые важные полномочия. Уделите внимание деталям, попробуйте к вставке копии если вообще возможный. В частности, рекурсивные chmods нуждаются в капитале X в a+rX, и /dev/*/ не должен быть /dev/*. Части в /dev не необходимы, если Вы перезагрузили. Если Вы выполните эти шаги, то будет маленькое окно времени, когда любой пользователь системы сможет получить корень; это не проблема, если у Вас нет пользователей кроме себя.

chmod a+rX / /* /var/* /dev /dev/*/
chmod a+rw /dev/full /dev/log /dev/null /dev/ptmx /dev/random /dev/tty /dev/urandom /dev/zero
chmod a+rw /var/lock /var/tmp
chmod -R a+rX /etc /bin /lib* /sbin /usr
chmod go-rx /etc/shadow /etc/gshadow /etc/sudoers
chmod go-rx /etc/*key /etc/ssh/*key
chmod g=x,o= /etc/ssl/private
chmod g=r,o= /etc/ssl/private/*

После этих шагов Ваша система должна быть главным образом применимой, но это не полный список. Таким образом, теперь сохраните все свои важные данные и переустановите. Если Вы чувствуете себя предприимчивыми, сравниваете полномочия в Вашей системе с полномочиями в чистой системе и восстанавливают остающиеся файлы. Но я не рекомендую использовать машину в производстве впоследствии.

3
14.10.2012, 19:09
2 ответа

1 совет с xen, если Вы решаете использовать классический мост (по сравнению с ovs), установил его вручную, поскольку сценарии не разобрались в нем для меня сначала (при этом единственный nic был заблокирован),

что-то вроде этого должно заставить образование моста работать:

auto lo br0
iface lo inet loopback

iface br0 inet static
        address 192.168.128.7
        netmask 255.255.255.128
        network 192.168.128.0
        broadcast 192.168.128.127
        gateway 192.168.128.126
        dns-nameservers 172.16.2.200
        bridge_ports eth1
        bridge_stp off
        bridge_fd 0
        #bridge_hello 2
        #bridge_maxage 12

iface eth1 inet manual

Теперь на каждом госте OS Вы получите интерфейс 'eth0' (rfr. bridge_fd=0) при присвоении IP-адреса тому интерфейсу это будет на мосту br0 и сможет сделать все как хост, может, учитывая тот факт, что ничто не блокирует его (netfilter и т.д.)

для пользы полноты затем Вы редактируете/etc/sysctl.conf (принимающий debian здесь, sry) и устанавливаете это, поскольку это могло бы быть необходимо для Вашей сети

net.ipv4.conf.eth1.proxy_arp = 1
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

и сделайте sysctl-p для фиксации их. Это отключает netfilter от вмешательства на мосту. Кроме того, Вы могли использовать iptables, чтобы сделать это также. от вершины моей головы, что-то вроде этого (они не могли бы все быть необходимы), но так как я не использую их, это должно только дать общее представление:

iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
iptables -I FORWARD -m physdev --physdev-in vif1.0 -j ACCEPT

Это vif1.0 (или возможно названный немного отличающимся) интерфейс покажут однажды Ваш гость, OS запускается, можно проверить сеть на хосте с классическими инструментами (IP, ifconfig и т.д.).

3
27.01.2020, 21:17

Вы должны: Избавьтесь от псевдонимов eth1:1 через eth1:4, настройте мост на своем существующем 'eth1 интерфейс и затем продолжайте жизнь.

2
27.01.2020, 21:17

Теги

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