Cambiar la ubicación del directorio de inicio de la raíz

10

Me gustaría cambiar la ubicación del directorio de inicio de root de / root a / var / root. Solía ​​poder hacer esto con usermod:

usermod -d /var/root root

Sin embargo, con la última versión de usermod, no puede cambiar el directorio del usuario actualmente conectado. Estoy tratando de cambiar el directorio de inicio de root en el momento del inicio en un script de configuración del sistema que se ejecuta la primera vez que se inicia un sistema, por lo que realmente no puedo ser ningún otro usuario.

¿Hay otra forma de cambiar el directorio de inicio del usuario actualmente conectado (root en este caso)?

Probablemente podría sed / etc / passwd, pero eso parece descuidado.

Kevin S.
fuente
¿Enlace duro / root a / var / root?
Garrett
Puede modificar / etc / passwd manualmente, supongo.
billc.cn

Respuestas:

11
  1. El único problema con la edición manual /etc/passwdes que puede haber una carrera si algún otro usuario o programa cambia este archivo mientras lo mantiene abierto en su editor. En este caso, ese cambio se perderá cuando guarde el archivo. Si está seguro de que este problema no se aplica a usted (ningún otro usuario inició sesión, etc.), puede continuar y editar/etc/passwd

  2. Asegúrese de que el directorio de inicio de la raíz esté disponible cuando arranque en modo de usuario único, por ejemplo, debe estar en un sistema de archivos raíz.

  3. Varios trucos, como crear un usuario secundario con uid 0, cambiar a él y cambiar el directorio de inicio de root, no funcionarán. Las comprobaciones para el usuario actualmente conectado están basadas en uid.

haimg
fuente
55
Usando vipwo sudoeditpuede proteger contra # 1. En cuanto al n. ° 2, un directorio de inicio faltante generalmente dará como resultado solo una advertencia.
usuario1686 12/12/11
@grawity: Gracias por la información de vipw, no lo sabía. Creo que usar vipw es probablemente la mejor solución en general.
Haimg