¿Cómo guardar los alias de raíz de forma permanente?

Intenté guardar alias (ver más abajo) para el usuario raíz en .bash_profile/var/root/.bash_profile y reiniciar Terminal, pero no funcionó. ¿ Dónde .bash_profiledebe estar el archivo para mantener alias persistentes en la terminal?

$ cat /var/root/.bash_profile
alias grep='grep --color=always'
alias net='sudo netstat -ap tcp && sudo lsof -Pn -i4'

mis especificaciones:

sh-3.2# system_profiler SPSoftwareDataType
Software:

    System Software Overview:

      System Version: OS X 10.8.5 (12F45)
      Kernel Version: Darwin 12.5.0
      Boot Volume: lily
      Boot Mode: Normal
      Computer Name: lily’s MacBook Air
      User Name: System Administrator (root)
      Secure Virtual Memory: Enabled
      Time since boot: 12:37
hmm, no, eso no funcionó. Pero gracias por la sugerencia
eso tampoco funciono. debe haber un .bashrcen el /var/root/directorio? acabo de notar que no hay bashrc
gracias. Obtener el archivo definitivamente funciona, pero no es persistente. cuando salgo de la Terminal por completo y la reinicio, luego $ sudo supara obtener la raíz, los alias ya no están disponibles
¡gracias! usando .profile(no .bash_profile) con $ sudo -iobras! si lo pones en una respuesta con gusto lo aceptare

Respuestas (2)

El nombre de archivo de configuración adecuado del shell raíz estándar (es decir, sh) es .profile. Así que cambie el nombre de .bash_profile a .profile:

mv /var/root/.bash_profile /var/root/.profile
source /var/root/.profile

Esto funciona al iniciar sesión como root en la GUI.


Intentar sudo suen el shell de un sudoer no obtendrá el archivo .profile de root. Utilice sudo -ien su lugar.

sudo ln -s "/Users/${LOGNAME}/.bash_profile" /var/root/.profile

Resultado:

$ sudo ls -lha /var/root/.profile
lrwxr-xr-x  1 root  wheel    24B Oct  5 12:40 /var/root/.profile -> /Users/phx/.bash_profile

Luego, el suyo propio ~/.bash_profilese cargará para la raíz cuando usted sudo -so sudo -i (junto con sus funciones y alias) .

Sin embargo , no he podido hacer que esto funcione para comandos únicos sudo.

No hace falta decir que esto tiene algunos riesgos si su cuenta normal tiene una contraseña de baja calidad.
Escribí esta respuesta y, como investigador de seguridad, puedo decir que tampoco es seguro. ~/.bash_profilees una ubicación en la que el usuario puede escribir, y todo lo que contiene se ejecuta automáticamente como raíz durante una sesión de shell de nivel raíz, por lo que en realidad podría usarse para establecer la persistencia. De acuerdo, tendría que saber que /var/root/profileestaba vinculado a ~/.bash_profile, pero aún no es seguro. Solo digo.