Псевдоним определен в профиле _.bash пользователя user1. Когда вы используете «su -l user2», он фактически очищает все переменные среды для пользователя1 и вместо этого загружает переменные пользователя2, где псевдоним «startservices» не определен.
Вы можете использовать опцию "su -p ", которая сохранит текущую среду,но в этом случае user2 должен иметь разрешение на чтение файла.bashrc user1.
Определения хостов всегда являются глобальными.
Итак, у меня на роутере 3 сети; «LAN» 10.0.0.0/24, «гость» 10.100.100.0/24 и «IoT» 10.100.200.0/24
Мой dhcpd.conf
имеет следующую конфигурацию
subnet 10.0.0.0 netmask 255.255.255.0 {
authoritative;
option routers 10.0.0.1;
blah;
}
subnet 10.100.100.0 netmask 255.255.255.0 {
authoritative;
option routers 10.100.100.1;
blah;
}
subnet 10.100.200.0 netmask 255.255.255.0 {
authoritative;
option routers 10.100.200.1;
blah;
}
host machine1 {
hardware ethernet xx:xx:xx:xx:xx:xx;
fixed-address 10.0.0.13;
option host-name "machine1";
}
host machine2 {
hardware ethernet yy:yy:yy:yy:yy:yy;
fixed-address 10.100.200.15;
option host-name "machine2";
}
DHCPd правильно определяет, что machine1
находится в локальной сети, а machine2
— в подсети IoT, и отправляет правильную конфигурацию (маску сети, маршрут по умолчанию, DNS-сервер и т. д. и т. д. ), относящиеся к этой подсети.
Если у вас есть машина, которая может подключаться к нескольким интерфейсам, и вы хотите, чтобы они получали разные адреса, вы можете перечислить хост несколько раз. Например, мой мобильный телефон:
host s8 {
hardware ethernet aa:aa:aa:aa:aa:aa;
fixed-address 10.0.0.34;
option host-name "s8";
}
host s8-guest {
hardware ethernet aa:aa:aa:aa:aa:aa;
fixed-address 10.100.100.9;
option host-name "s8-guest";
}
Теперь он будет получать разные адреса в зависимости от того, в какой сети он находится.
Если для этой сети нет статической записи, она получит динамический адрес. Если в подсети нет свободных адресов, то ей не будет присвоен ни один адрес.