Al intentar cambiar las cuentas a mi cuenta recién creada, aparece una pantalla en negro y luego me lleva de vuelta a la pantalla de inicio de sesión principal después de ingresar la contraseña correcta.
Al iniciar sesión en mi cuenta existente anteriormente obtengo:
"System Program Problem Detected"
Details:
Executable path /usr/bin/Xorg
Package: xserver-xorg-core 2:1.11.4-0ubuntu10.1
Details: Crash
... (tons more, but no way to copy paste or save)
Cuando trato de su
su -l penner
Yo obtengo:
No directory, logging in with HOME=/
Creé manualmente el directorio de inicio y este error desaparece, pero aún no tuve suerte con el inicio de sesión. ¿Parece que algo salió mal con la creación del usuario? ¿Cómo puedo corregir esto?
useradd
switch-user
Penner
fuente
fuente
Respuestas:
Si creó la cuenta de usuario con
useradd
, debe configurar todo manualmente. Es por eso que, al crear cuentas de usuario desde la línea de comandos, se recomienda usaradduser
en Ubuntu (y Debian, y otros sistemas basados en Debian) en su lugar. Es posible que solo desee eliminar al usuario conuserdel
odeluser
y volver a crearloadduser
. De otra manera...Arreglando la ubicación del directorio de inicio
Si desea mantener la cuenta de usuario y solucionar el problema, debe mirar:
Estos deben ser exactamente lo mismo. El mensaje de error que recibe
su -l penner
le dice que no son lo mismo.Para verificar el directorio de inicio para el que está configurada la cuenta de usuario, ejecute este comando (consulte
man 5 passwd
yman grep
para obtener más información):Deberías ver una línea como esta:
Es decir, el sexto
:
campo separado (después del quinto:
) contiene el directorio de inicio. Si no es así/home/penner
, debería serlo. Si el directorio que creó para el usuario no lo es/home/penner
, también debería serlo. Si los dos directorios son iguales pero ninguno lo es/home/penner
, entonces eso podría funcionar teóricamente, pero debería hacerlos a ambos/home/penner
, porque mucho software asume que todosroot
los directorios principales de los no usuarios lo son ./home/username
Puede cambiar
penner
el directorio de inicio de a/home/penner
ejecutando este comando:man usermod
para más información.Asegurarse de que es un directorio y que el usuario tiene acceso
Si (o una vez) los nombres son ambos
/home/penner
, también debe asegurarse de que el usuario tenga acceso a su propio directorio de inicio. Correr:Debería ver algo parecido a esto (aunque la fecha y la hora serán diferentes):
Si, en lugar de
drwxr-xr-x
, tiene algo que comienza en-
lugar ded
, entonces creó un archivo en lugar de un directorio. Elimine el archivo y cree un directorio allí.Si en lugar de lo primero
penner
tiene algo más, entonces el usuario no es dueño de su directorio de inicio, así que haga que lo posean:man chown
para más información.Si en lugar de haber
drwxr-xr-x
guiones en los siguientes tres caracteres después deld
, entonces el usuario no tiene acceso completo allí. Arregle eso de la siguiente manera:man chmod
para más información.(
penner
Es capaz de ejecutar este comando si son propietarios de su directorio, por lo que, si lo prefiere, puede ejecutar esto como:sudo -u penner u+rwx /home/penner
)Garantizar que otros usuarios no tengan acceso de escritura general
Si en lugar de
drwxr-xr-x
, hayw
s en lugar de-
s en las últimas seis letras, entonces los usuarios ademáspenner
pueden tener acceso de escritura alpenner
directorio de inicio de. Esto es peligroso (a menos que realmente sepa lo que está haciendo y lo quiera de esta manera y haya configurado las cosas para que no sea un problema). Arreglarlo:Otros valores predeterminados
Es posible que desee realizar otros cambios. De manera predeterminada en Ubuntu (es decir, si crea una cuenta de usuario con
adduser
o con una herramienta gráfica, lo cual no hizo):Los directorios principales tienen permisos de lectura y escritura para todos, no solo para el usuario que los posee. Los usuarios pueden cambiar esto, ya sea para todo el directorio de inicio o cualquier archivo y subdirectorio dentro de él. Pero si desea este valor predeterminado, y no tiene el segundo y el tercero
r
yx
endrwxr-xr-x
, ejecute:(
penner
Es capaz de ejecutar este comando si son propietarios de su directorio, por lo que, si lo prefiere, puede ejecutar esto como:sudo -u penner chmod 755 /home/penner
)Cada usuario tiene su propio grupo, con el mismo nombre que el usuario, y este es el grupo principal del usuario. Su directorio personal es propiedad de este grupo. Ese es el sentido de la segunda
penner
endrwxr-xr-x 43 penner penner 4096 2012-07-03 06:41 /home/penner
. Está bien romper con este valor predeterminado, si sabe lo que está haciendo . Pero si no es su intención hacer las cosas de manera diferente, debe asegurarse de quepenner
esté configurado de esta manera, ya que algunas posibles identidades de grupo primario para un usuario, o propietarios de grupos en el directorio de inicio del usuario, podrían ocasionar problemas de seguridad.Ejecutar
groups penner
. (Consulteman groups
para obtener más información). Debería ver algo como esto:No te preocupes si no es así. Llegaré a eso pronto. En cambio, mira la primera palabra después de
:
. Ese es el nombre del grupo principal del usuario. Asumiendo que quieres que seapenner
, asegúrate de que así sea. Si no es así, cámbielo:Si recibe un error que dice que el grupo
penner
no existe, deberá crearlo con este comando (y luego ejecutar el comando anterior nuevamente):man addgroup
para más información. (Si lo prefiere, puede usar alternativamente elgroupadd
comando para crear grupos).Cuando corriste
groups penner
, es posible que hayas obtenido una lista de grupos considerablemente más corta que la míapenner : penner adm dialout cdrom plugdev lpadmin sambashare
. Para los usuarios de escritorio, laadm
,dialout
,cdrom
,plugdev
,lpadmin
, ysambashare
proporcionan capacidades que los usuarios de escritorio en general deben tener. Por lo tanto, a menos que tenga una razón para hacer lo contrario,penner
debe estar en estos grupos. Sin embargo, estos no son grupos primarios, por lo que se configuran de manera diferente. Supongamospenner
que no está en ninguno de estos grupos y deseapenner
estar en todos ellos, ejecute este comando:En caso de que esté interesado, esto es lo que significan todos esos grupos:
adm
los usuarios pueden ver la mayoría de los archivos de registro del sistema en/var/log
.dialout
los usuarios pueden usar módems de acceso telefónico.plugdev
los usuarios pueden montar y usar dispositivos de almacenamiento externo.lpadmin
los usuarios pueden configurar y administrar impresoras.sambashare
los usuarios pueden compartir archivos (a través de Samba ) con otras computadoras a través de una red.(Fuente: Privilegios , en la wiki de documentación de Ubuntu).
Convertir al usuario en administrador
Si no quieres
penner
ser administrador, probablemente no necesites hacer nada más. Puede verificar sipenner
es un administrador congroups penner
. Si niadmin
tampocosudo
está en la lista, entoncespenner
no es un administrador.Si desea
penner
ser administrador, agreguepenner
a cualquiera de estos grupos que exista. (También puede agregarpenner
a ambos, si ambos existen). Puede lograr eso ejecutando estos dos comandos por separado; si alguno de ellos tiene éxito, ha creadopenner
un administrador:admin
grupo. Comenzando con Ubuntu 12.04 LTS, los administradores están en elsudo
grupo. Pero si su sistema 12.04 LTS se actualiza desde una versión anterior (y esto debería aplicarse a versiones posteriores de Ubuntu, como 12.10 cuando salga, que se actualizan desde Ubuntu 11.10 o anterior), entonces, por compatibilidad con versiones anteriores, los administradores son miembros de ambossudo
yadmin
. En general, si uno de estos grupos no confiere habilidades administrativas, simplemente no existe, por lo que ejecutar los dos comandos anteriores (por separado, no comosudo usermod -a -G admin,sudo penner
) es generalmente una forma segura y efectiva de hacerpenner
un administrador.fuente
sudo chmod u+a /home/penner
da un error en Ubuntu 16.04 (Xenial). ¿Essudo chmod u+rw /home/penner
un reemplazo adecuado?useradd
entonces? mantener código roto al azaruseradd
causa problemas en Ubuntu que no causa en otros sistemas. En mi sistema 16.04,/etc/default/useradd
tiene (como su única línea no comentada)SHELL=/bin/sh
, y useradd (8) parece decir que elSHELL
valor allí se usa si no se da la bandera-s
/--shell
, pero en mi sistema 16.04 eso no sucede. Me equivoqué al decir tan apresuradamente que Ubuntuuseradd
no está roto. Ahora no estoy tan seguro. Quizás haya una buena razón para esta diferencia entre Fedora y Debian (y Ubuntu) ... pero he eliminado mi comentario para no confundir a las personas.Esto sucede principalmente cuando crea el usuario sin crear un directorio de inicio para el usuario. Esto se puede resolver utilizando este comando al crear un usuario
El indicador -m es lo que crea el directorio de inicio para el usuario. Después de crear el usuario, compruebe si el directorio de inicio existe para ese usuario haciendo
Si puede ver ese nombre de usuario en la lista, lo último que debe hacer es asignar una contraseña a ese usuario
Ahora puede iniciar sesión con ese nombre de usuario y contraseña
fuente
ctrl + alt + f1 e inicie sesión allí y ejecute
sudo chown -R $ USUARIO: $ USUARIO $ INICIO
luego presione ctrl + alt + f7 e intente iniciar sesión
Funcionará
fuente