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.
linux
user-accounts
home-directory
Kevin S.
fuente
fuente
Respuestas:
El único problema con la edición manual
/etc/passwd
es 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
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.
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.
fuente
vipw
osudoedit
puede proteger contra # 1. En cuanto al n. ° 2, un directorio de inicio faltante generalmente dará como resultado solo una advertencia.