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
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.
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