Задать вопрос
Ответы пользователя по тегу Linux
  • В чем ошибка при реализации скрипта для смены мак адреса?

    @Uragiremono
    SIOCSIFFLAGS: Operation not permitted
    SIOCSIFHWADDR: Operation not permitted
    SIOCSIFFLAGS: Operation not permitted


    Для включения/выключения интерфейса или смены MAC-адреса необходимы права суперпользователя.
    2 варианта:
    1) Запуск скрипта от рута, тогда ничего править не нужно в скрипте.
    2) Поднять привилегии пользователю, от которого запускается скрипт, нужно добавить sudo перед командами в subprocess.call.

    #!/usr/bin/env python
    
    import subprocess
    
    subprocess.call("sudo ifconfig eth0  down", shell=True)
    subprocess.call("sudo ifconfig eth0 hw ether 00:11:22:33:44:66", shell=True)
    subprocess.call("sudo ifconfig eth0 up", shell=True)


    Не забыв разрешить пользователю поднимать привилегии без ввода пароля, либо добавить в скрипт проверку:
    если <требуется ввести пароль>
    <ввести пароль>
    Ответ написан
    Комментировать