Eliminando la conexión automática para 802.1X a través del terminal

0

Entonces, en el espíritu de esta pregunta Me preguntaba si también es posible deshabilitar la conexión automática 802.1X a través del terminal. ¿Tengo razón al suponer que esta es una configuración de computadora (lo que significa que si ejecuto este script sin un usuario registrado todavía lo deshabilita para todos los usuarios existentes y futuros)?

    
pregunta Philipp 19.12.2012 - 09:03

4 respuestas

2

Me tomó algunas horas aprender que es un valor booleano (y no solo 0 o 1 como informaría 'valores predeterminados') pero finalmente encontré lo siguiente LoginHook que hace el truco. Como LoginHooks obtener ejecutado como usuario root, debe 'su' para el usuario que está siendo registrado actualmente en antes de ejecutar el script de abajo. Como Michele señala a continuación, ese nombre de usuario está disponible como $ 1 para el Hook-Script que se ejecuta como root. Parece ser un usuario de configuración de servidor, aunque SystemPrefs solicitaría una contraseña de administrador para modificar esta configuración ... La secuencia de comandos de mi gancho que se está ejecutando en el contexto del usuario se ve así:

#!/bin/sh

if [ 'whoami' = "root" ]; then
  echo "$0: Must run as regular user, not root! QUIT."
  exit 1
fi

# write new setting 
defaults write -currentHost com.apple.network.eapolcontrol EthernetAutoConnect -bool false

Usando opensnoop (1) o fs_usage (1) no pude ver ningún otro archivo siendo modificado. Espero que ayude.

    
respondido por el janemann 12.03.2013 - 16:29
1

Esto es lo que implementamos en el trabajo. Se ejecuta como una secuencia de comandos de inicio de sesión para cada usuario que inicia sesión en la computadora. Desde OS X 10.9, la ubicación ha cambiado y el nombre del archivo es diferente para cada usuario. La secuencia de comandos busca el archivo único para ese usuario y cambia el valor de conexión automática.

#!/bin/bash

### Variables
user='/usr/bin/logname'
x=$(find ~/Library/Preferences/ByHost -name "com.apple.network.eapolcontrol*.plist")

### Functions

defaults write $x EthernetAutoConnect -bool false
    
respondido por el Gerald Cooper 01.09.2016 - 22:32
0

Simplemente deshabilite la casilla de verificación Habilitar automática en la pestaña 802.1x de su opción de interfaz avanzada, ya que es el equivalente al comando del terminal.

    
respondido por el user1876977 19.12.2012 - 14:16
0

No sé cómo puede funcionar esta solución, ya que LoginHook se ejecuta como root y no como el propio usuario.

Aquí mi solución:

#! /bin/sh
su - $1 -c "defaults -currentHost write com.apple.network.eapolcontrol EthernetAutoConnect -bool false";

Tenga en cuenta que la opción -currentHost hará las cosas con el uuid del host ;-)

Saludos, Michele

    
respondido por el Michele Marcionelli 09.04.2013 - 10:38

Lea otras preguntas en las etiquetas