
Digamos que tengo un usuario llamadopanoramasy tiene su directorio personal ubicado en /home/panos
. Luego, creo otro usuario llamadoTomás:
adduser Tom
Crea un usuarioTomásquien tiene directorio de inicio:/home/Tom
La pregunta es: ¿qué pasa si quisiera crear un nuevo usuario y darle como directorio de inicio el directorio de inicio de otro usuario? Por ejemplo, creemos el usuario.alemány páselo como su directorio de inicio, el directorio de inicio del usuario.Panos:
adduser -d /home/panos Jerry
pero hay un error que dice:
adduser: warning: the home directory already exists.
Not copying any file from skel directory into it.
Sin embargo, si echas un vistazo al /etc/passwd
archivo:
tail -n 3 /etc/passwd
anthony:x:501:501::/home/anthony:/bin/bash
panos:x:502:502::/home/panos:/bin/bash
Jerry:x:503:503::/home/panos:/bin/bash
parece que funcionó. Pero cuando intenté iniciar sesión como Jerry:
[root@LinuxAcademy ~]# su Jerry
bash-4.1$ bash: /home/panos/.bashrc: Permission denied
bash-4.1$
me impide iniciar sesión como Jerry y también cambia mi mensaje (elPS1).
Entonces, ¿cómo puedo hacer esto? ¿Es posible?
Respuesta1
Creó un usuario con un directorio de inicio que ya existe.
adduser: advertencia: el directorio de inicio ya existe.
No copiar ningún archivo del directorio skel en él.
Esto no es un error, es una advertencia. Por lo general, la razón para no crear un directorio de inicio es para un usuario cuyo directorio de inicio se supone que no existe. Aquí sí lo hace, lo que tiene una alta probabilidad de ser un error del administrador del sistema (por ejemplo, un copiar y pegar incorrecto o un script con errores). Dado que realmente pretendía utilizar un directorio de inicio existente, ignore esta advertencia.
[root@LinuxAcademy ~]# su Jerry
bash-4.1$ bash: /home/panos/.bashrc: Permission denied
bash-4.1$
Iniciaste sesión como Jerry. Ese bash 4.1 se ejecuta como Jerry. Jerry no tiene permiso para leer su archivo ~/.bashrc
, ya sea porque el archivo .bashrc
solo es legible para panos
(y quizás para un grupo al que Jerry no pertenece) o porque Jerry /home/panos
no puede acceder al directorio en sí ( x
permiso). Entonces bash le dice que no puede leer su archivo de inicio y muestra su mensaje predeterminado.
Tener varios usuarios con el mismo directorio de inicio es muy inusual (excluyendo las cuentas del sistema cuyo directorio de inicio no importa). Lo que debe hacer con los permisos depende de lo que intente lograr con esto. Probablemente desee al menos permitir que todos estos usuarios lean su directorio de inicio.
Respuesta2
Bueno, por supuesto. Está intentando leer y ejecutar /home/panos/.bashrc
. Ese archivo pertenece al usuario panos
y presumiblemente está configurado en -rwx------
algo así. Entonces Jerry
intenta leerlo y no puede. Permission denied
, tal como dice.
Es posible que Jerry
en realidadesiniciado sesión. Pruebe whoami
.
Entonces, póngalos en el mismo grupo y conviértalo en group-rx, o en world-rx, o algo así. Y haga lo mismo con el directorio de inicio (ejecutable, para un directorio, significa que se puede buscar).
Respuesta3
$ mv /home/jerry /home/xxx
$ userdel -r jerry
$ rm -rf /var/spool/mail/jerry
$ useradd jerry
$ mv /home/xxx /home/jerry
jerry home ya existe así que le indicarás "me gusta"
bash-4.1$ bash
Para evitar la nueva ubicación del directorio de inicio existente y crear un usuario nuevamente