Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: UBUNTU 16.04, как переключать сетевые карты при смене пользователя?  (Прочитано 3588 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Valery_U

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
UBUNTU 16.04, два пользователя (User1 & User2), две сетевых (Eth1 & Eth2).
Как при смене пользователя "автоматом" переключать:
(User1->Eth1 & Eth2 - Off)
(User2->Eth2 & Eth1 - Off)?..

Оффлайн thunderamur

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 6832
    • Просмотр профиля
Valery_U, в ~/.bashrc
sudo ifdown eth1
sudo ifup eth2

Чтобы разрешить sudo без пароля:
visudoдобавить в конец
%sudo   ALL=(ALL:ALL) NOPASSWD:ALL
или если нужно разрешить только определенные команды:
%sudo   ALL=(ALL:ALL) NOPASSWD:/sbin/ifup, /sbin/ifdown
« Последнее редактирование: 16 Август 2019, 11:13:05 от Azure »

Оффлайн Valery_U

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Добавил в конец /home/user1/.bashrc
# enable Eth1
visudo
%sudo   ALL=(ALL:ALL) NOPASSWD:/sbin/ifup, /sbin/ifdown
sudo ifdown eth2
sudo ifup eth1
#
При смене пользователя с user2 (eth2) на user1 eth не переключается...

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 3592
    • Просмотр профиля
Цитировать
ifup eth1
А точно, eth? Уже давно (примерно с 14.04) они так не называются.

Оффлайн Valery_U

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
~$ ifconfig
enp2s0    Link encap:Ethernet  HWaddr 00:22:15:9f:a2:50 
          inet addr:192.168.1.30  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::222:15ff:fe9f:a250/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:299507 errors:0 dropped:0 overruns:0 frame:0
          TX packets:350042 errors:0 dropped:0 overruns:0 carrier:2
          collisions:0 txqueuelen:1000
          RX bytes:81954631 (81.9 MB)  TX bytes:199343425 (199.3 MB)

enp5s2    Link encap:Ethernet  HWaddr 00:50:22:9a:d3:7c 
          inet addr:77.37.225.144  Bcast:77.37.231.255  Mask:255.255.248.0
          inet6 addr: 2a02:2168:a00:d8::1/128 Scope:Общий
          inet6 addr: fe80::f75f:54e7:21e5:685a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:64676 errors:0 dropped:0 overruns:0 frame:0
          TX packets:66407 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7939581 (7.9 MB)  TX bytes:53714582 (53.7 MB)

lo        Link encap:Локальная петля (Loopback) 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5919 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5919 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:525476 (525.4 KB)  TX bytes:525476 (525.4 KB)

# enable Eth1
visudo
%sudo   ALL=(ALL:ALL) NOPASSWD:/sbin/ifup, /sbin/ifdown
sudo ifdown enp5s2
sudo ifup enp2s0
#
Эффекта нет...

Оффлайн Usermaster

  • Активист
  • *
  • Сообщений: 900
    • Просмотр профиля
Извините, я возможно ничего в этом не понимаю.
Но разве не в sudoers такие вещи прописываются?

%sudo   ALL=(ALL:ALL) NOPASSWD:/sbin/ifup, /sbin/ifdown

Оффлайн Valery_U

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Перезагрузил комп, открываю терминал, а там:
visudo: /etc/sudoers: Отказано в доступе
bash: /home/valery/.bashrc: строка 121: ошибка синтаксиса около неожиданной лексемы `('
bash: /home/valery/.bashrc: строка 121: `%sudo   ALL=(ALL:ALL) NOPASSWD:/sbin/ifup, /sbin/ifdown'

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2067
    • Просмотр профиля
Valery_U, в ~/.bashrc это включать ни в коем случае не надо. Надо сделать то, что выше посоветовал Thudneramur,
а именно разрешить пользователю выполнят команды ifup и ifdown, а команды их вызова включить в некий скриппт и вызывать
его из ~/.config/autostart.
Пётр.

Оффлайн Valery_U

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
Прекрасно, но не все люди - программисты.... :-[
Я старый железячник, много лет пользуюсь UBUNTU, и не имею никакого представления о системе команд, организации потоков и консольном управлении.
Я пользователь и возникающие вопросы всегда удавалось решить на форумах...

> разрешить пользователю выполнят команды ifup и ifdown
Как?... Что куда прописать?.. Что нажать и где посмотреть результат?
Без разъяснений, просто в три строки (для тупых):
nano file.tip
comand1 ifup
comand2 ifdown
Закрыть
Перезагрузить комп
результат посмотреть "здесь"
> команды их вызова включить в некий скриппт и вызывать его из ~/.config/autostart.
Аналогично, т.к. " Файл «/home/user1/.config/autostart» является каталогом"... :'(

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 3592
    • Просмотр профиля
Цитировать
Я старый железячник
Мне кажется, не стоит лезть к железу, т.е. к сетевым картам.
Сетью управляет NetworkManager. И не стоит мешать ему всякими ifup-ifdown.
Наверняка, для каждого интерфейса создано свое соединение. Вот соединения и переключать с помошью nmcli.

Оффлайн Peter_I

  • Старожил
  • *
  • Сообщений: 2067
    • Просмотр профиля
andytux, Если он не знает системы команд, как он разберётся в nmcli?
К тому же для переключения соединений нужны права root. Лучше уж с правами на ifup/ifdown.
Также, если там две сети, так, может, и не надо ничего переключать? Для одного пользователя настроить работу по одной сети,
для другого по другой, т.е. настроить программы, которые для этого используются.
Пётр.

Оффлайн Valery_U

  • Автор темы
  • Новичок
  • *
  • Сообщений: 14
    • Просмотр профиля
> Для одного пользователя настроить работу по одной сети,для другого по другой
Именно так. Это можно сделать в N кликов по "Изменить соединение" и, как мне "кажется", автоматизация этого "процесса" вряд ли потребует разрушения системы...

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 3592
    • Просмотр профиля
Цитировать
Это можно сделать в N кликов по "Изменить соединение"
Совершенно верно. Это и есть путь через Нетворкменеджер, который я и предлагаю.
А ifup-ifdown вмешиваются в работу Нетворкменеджера, и он, скорее всего, будет восстанавливать соединения по своим правилам.

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6009
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Valery_U, покажите
Код: Bash
  1. nmcli device status
  2. nmcli c s
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 27176
    • Просмотр профиля
Остаётся открытым вопрос, на[зачем] это нужно…
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.147 секунд. Запросов: 24.