Почему команда в /etc/rc.local запрашивает пароль?

Это делает перезагрузку очень раздражающей.

Как настроить параметры брандмауэра в /etc/rc.local чтобы при перезагрузке мне не предложили ввести пароль? (ОС Ubuntu 18.04)

Я хотел бы, чтобы мой сетевой интерфейс p2p1 был постоянно назначен доверенной зоне, но почему-то это не прилипает. (Я нашел похожую запись с кем-то, у кого была похожая проблема, https://access.redhat.com/discussions/2779921.)

Поэтому я добавил эти строки в /etc/rc.local и теперь при каждой перезагрузке мне нужно ответить еще 3 раза с паролем для входа:

# assign p2p1 to trusted zone
firewall-cmd --permanent --change-zone=p2p1 --zone=trusted
# restart network and firewall services
service network-manager restart
firewall-cmd --reload

Есть лучший способ сделать это? NetworkManager контролирует устройство:

sudo nmcli dev status 
  DEVICE  TYPE      STATE        CONNECTION   
  eth0    ethernet  connected    netplan-eth0 
  p2p1    ethernet  connected    netplan-p2p1 
  wlan0   wifi      unavailable  --           
  lo      loopback  unmanaged    --    

Я использую netplan для конфигурации сети. Это мой нетплан 01-netcfg.yaml файл

network:
    version: 2
    renderer: NetworkManager
    ethernets:
#       WAN
        eth0:
            dhcp4: no
            dhcp6: no
            addresses: [76.80.54.221/29]
            gateway4: 76.80.54.217
            nameservers:
                addresses: [209.18.47.61,209.18.47.62]
#       LAN
        p2p1:
            dhcp4: no
            dhcp6: no     
            addresses: [192.168.4.5/24]
            gateway4: 192.168.4.1

Обновить:

Это приглашение аутентификации, которое я получаю во время загрузки:

Требуется авторизация

Системная политика предотвращает изменение конфигурации брандмауэра

Занимаясь еще копанием, я нашел этот пост. Поэтому я удалил вышеупомянутое исправление и реализовал это новое предложение:

Созданный файл модуля systemd как временное исправление: /etc/systemd/system/myzones.service

[Unit]
Description=Custom Zones
After=network.target network.service

[Service]
Type=oneshot
User=root
Group=root
ExecStart=/bin/nmcli connection modify eth0 connection.zone public
ExecStart=/bin/nmcli connection modify p2p1 connection.zone internal

[Install]
WantedBy=multi-user.target

Затем я включил службу и перезагрузил

systemctl daemon-reload
systemctl enable myzones.service
reboot

Я получил тот же результат. Как и раньше, мне предложили ввести пароль при загрузке.

Я забыл упомянуть. У меня установлен Webmin. Я не уверен, что это может блокировать изменения конфигурации в настройках зоны сетевых устройств.

Я реализовал предложение, найденное на этой странице, но все еще получаю Требуется аутентификация

 sudo chown root /etc/systemd/system/myzones.service
 sudo chmod +s /etc/systemd/system/myzones.service

Я нажал клавишу F2 во время загрузки, чтобы посмотреть, что происходит, и обнаружил ошибку. Ошибка гласит:

...
[FAILED] failed to start custom zones.
see 'systemctl status myzones.service' for details.
...
[FAILED] failed to start Samba NMB Daemon.
see 'systemctl status smbd.service' for details.

Я побежал sudo journalctl -xe и получил это:

...
lines 1242-1264/1264 (END)
Aug 21 07:54:54 courtens.org postfix/master[2584]: warning: /usr/lib    /postfix/sbin/smtpd: bad command startup -- throttling
Aug 21 07:55:04 courtens.org postfix/local[4968]: error: open database /etc/aliasesmyhostname.db: No such file or directory
Aug 21 07:55:04 courtens.org postfix/local[4968]: fatal: open dictionary: expecting "type:name" form instead of "="
Aug 21 07:55:05 courtens.org postfix/master[2584]: warning: process /usr/lib/postfix/sbin/local pid 4968 exit status 1
Aug 21 07:55:05 courtens.org postfix/master[2584]: warning: /usr/lib/postfix/sbin/local: bad command startup -- throttling
Aug 21 07:55:26 courtens.org dbus-daemon[2715]: [session uid=1000 pid=2715] Activating via systemd: service name='org.gnome.Terminal' unit='gnome-terminal-server.service' requested 
Aug 21 07:55:26 courtens.org systemd[2411]: Starting GNOME Terminal Server...
-- Subject: Unit UNIT has begun start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- Unit UNIT has begun starting up.
Aug 21 07:55:26 courtens.org dbus-daemon[2715]: [session uid=1000 pid=2715] Successfully activated service 'org.gnome.Terminal'
Aug 21 07:55:26 courtens.org systemd[2411]: Started GNOME Terminal Server.
-- Subject: Unit UNIT has finished start-up
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- Unit UNIT has finished starting up.
-- 
-- The start-up result is RESULT.
Aug 21 07:55:39 courtens.org sudo[5015]: nathaniel : TTY=pts/0 ; PWD=/home/nathaniel ; USER=root ; COMMAND=/bin/journalctl -xe
Aug 21 07:55:39 courtens.org sudo[5015]: pam_unix(sudo:session): session opened for user root by (uid=0)

Что мне предлагается сделать? Спасибо.

1 ответ

Решение

Я наконец смог найти обходной путь.

Мне нужно было добавить скрипт в /ect/network/if-up.d папка, которая устанавливает другую зону помимо зоны брандмауэра по умолчанию для моего адаптера p2p1. Смотрите здесь для решения.

Другие вопросы по тегам