Compte utilisateur Centos nologin mais possible de prendre en compte


12

Je suis nouveau sur CentOS (exécutant CentOS 6). J'ai une expérience antérieure avec OpenSuse.

J'essaie de créer un compte pour un utilisateur. Je ne veux pas que le compte soit disponible pour la connexion via ssh ou via l'écran de connexion. Mais, je veux toujours pouvoir me connecter à l'utilisateur en utilisant la commande su. Cela me permet d'exécuter certaines applications en tant qu'utilisateur avec un accès restreint. L'utilisateur n'est pas un super utilisateur, il ne peut donc pas affecter les applications d'autres utilisateurs.

Toute aide serait grandement appréciée. Je veux généralement l'utiliser pour exécuter le serveur Glassfish, etc.


Alors, comment avez-vous résolu cela avec OpenSuSE?
Nils

Réponses:


15

Sur centos, vous configureriez avec un utilisateur sans shell en utilisant / sbin / nologin:

[root@localhost ~]# grep named /etc/passwd
named:x:25:25:Named:/var/named:/sbin/nologin
[root@localhost ~]# 

Si vous devez le devenir, utilisez le paramètre -s et mettez comme argument le shell de votre choix, comme ceci:

[root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ 

Notez que si vous utilisez bash, il lira d'abord les paramètres de / etc / profile et par défaut ces paramètres s'il n'y a pas de .bash_profile, .bash_login ou.profile dans le répertoire personnel de l'utilisateur. Bien sûr, si vous souhaitez utiliser vos paramètres d'environnement existants qui existent en racine, vous pouvez simplement supprimer le tiret:

sortie [

root@localhost ~]# su - named -s /bin/bash
-bash-4.1$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin
-bash-4.1$ exit
logout
[root@localhost ~]# su named -s /bin/bash
bash-4.1$ echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
bash-4.1$ 

0

Une façon courante consiste à définir le shell de l'utilisateur sur /bin/false


J'ai essayé de le définir sur / bin / false, mais il semble que centOS 6 n'ait pas cette option. Il a une option bin / nologin, mais cela ne me permet pas d'accéder au compte utilisateur.

essayersu -m username
unbeli

Si je définis l'utilisateur sur / sbin / nologin et que j'essaie de faire un su avec l'option -m, cela m'indique que le compte n'est pas actuellement disponible. J'ai également essayé d'ajouter le / bin / false au fichier shells. Lorsque je fais cela, la commande su ne passe tout simplement pas à l'utilisateur.

ok, n'ajoutez PAS / bin / false au fichier shell. Définissez le shell de l'utilisateur sur / bin / false. Utilisez su -m.
unbeli

Je l'ai supprimé du fichier / etc / shells et défini le shell de l'utilisateur sur / bin / false à l'aide de la commande usermod. Si j'essaye maintenant de su -m nom d'utilisateur, il me dit que je n'ai pas les autorisations pour .bashrc. Je suis connecté en tant que root. Si je le fais maintenant: su - nom d'utilisateur, cela ne me donne aucune erreur, mais je suis toujours considéré comme root. Est-ce normal chez Centos?

0

Je mets normalement un "x" dans le champ du mot de passe crypté de ces utilisateurs "techniques". L'utilisateur n'aura donc aucun mot de passe possible. S'il y a également maintenant une clé publique dans les clés autorisées de cet utilisateur, ce compte devrait être assez sûr.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.