web-dev-qa-db-fra.com

Correction de la connexion de l'utilisateur en passant à la racine

J'ai un VM sous Ubuntu 14.04.2 LTS (GNU/Linux 3.16.0-30-generic x86_64) et nous y avons eu accès via un utilisateur, appelons-le userx ainsi tous les fois que nous nous connectons à cette VM par ssh comme:

ssh -p 22 [email protected]

Il change automatiquement l'utilisateur en root pour qu'il entre dans la machine en tant que:

root@machinename:~#

Et si je lance la pwd, cela montre que je suis dans le dossier userx/home/userx. Et si je lance su userx, il se connecte à nouveau en tant que root.

Alors, comment puis-je changer cela alors quand je me connecte avec userx je suis en fait connecté en tant que userx comme userx@machinename:~#?

Edit comme demandé dans les commentaires:

root@machinename:~# grep userx /etc/passwd
userx:x:0:0:somename,,,:/home/userx:/bin/bash

J'ai changé la valeur de somename pour préserver la confidentialité. Je suppose que c'est le groupe non?

root@machinename:~# ls -l /home
total 4
drwxr-xr-x 10 1000 userx 4096 Nov  8 11:10 userx
2
Jorge Campos

Le problème est "userx" est root. La racine est identifiée par l'UID 0, comme indiqué dans/etc/passwd

userx:x:0:0:somename,,,:/home/userx:/bin/bash

Voir https://www.cyberciti.biz/faq/understanding-etcpasswd-file-format/ pour comprendre le résultat.

Donc, ce que vous pouvez faire, même s’il est modérément envahissant, faites tout cela à partir d’une racine Shell !!!

Dans votre cas, vous devrez éditer manuellement etc/passwd et /etc/groups

nano /etc/passwd

éditer la ligne userx

userx:x:1000:1000:somename,,,:/home/userx:/bin/bash

Puis/etc/groups

Au moins

userx:x:1000:

Pendant que vous y êtes, vous pouvez ajouter userx au besoin à d’autres groupes. Ajoutez userx à la fin de la ligne, en séparant les virgules si nécessaire (affiche cette liste à partir d’une installation sur le bureau). Vous pouvez vous ajouter à d'autres groupes si nécessaire (www-data?)

adm:x:4:syslog,userx
cdrom:x:24:userx
Sudo:x:27:userx
dip:x:30:userx
plugdev:x:46:userx
lpadmin:x:118:userx
userx:x:1000:
sambashare:x:128:userx

Puis installez ssh (si nécessaire)

cp -R /root/.ssh /home/userx
chown -R userx:userx /home/userx

AVANT DE QUITTER LA RACINE Shell, de votre client, testez ssh et Sudo

ssh [email protected] #you do not need to specify the port if it is the default

Maintenant, en supposant que vous puissiez rester longtemps via ssh, testez Sudo

Sudo -i

Tant que vous pouvez vous connecter via ssh et obtenir un shell racine, vous êtes prêt à partir.

Si vous rencontrez un problème que vous devrez publier, il se peut que nous devions configurer ssh et/ou Sudo.

1
Panther

Votre utilisateur userx a l'ID et l'ID de groupe 0, ce qui signifie qu'il devient automatiquement un utilisateur root. Vous devrez peut-être créer un utilisateur avec un ID différent. Les meilleures pratiques commencent à 1 000, car les ID précédents sont supposés être réservés pour les comptes système.

userx: x: : : quelque chose ,:/home/userx:/bin/bash

La syntaxe pour changer un ID utilisateur est la suivante:

usermod -u UID userx

Par exemple

usermod -u 1000 userx

Et pour changer le groupe primaire

usermod -g groupx userx

Par exemple, pour que l'utilisateur soit membre d'un groupe avec le même (comportement par défaut sous Linux).

groupadd userx # < Command useless for you as group userx already exists
usermod -g userx userx
1
ob2