Maison  >  Article  >  Opération et maintenance  >  Gestion des utilisateurs dans le système Linux

Gestion des utilisateurs dans le système Linux

巴扎黑
巴扎黑original
2017-08-02 16:08:233355parcourir

1. Fichiers de configuration couramment utilisés

Fichier d'informations utilisateur : /etc/password
Fichier de mot de passe : /etc/shadow
Fichier de groupe d'utilisateurs : /etc/group
Mot de passe du groupe d'utilisateurs Fichier:/etc/gshadow

1.1 /etc/password fichier

vim /etc/password

fubh:x:1020:1000::/home/ fubh :/bin/bash

man 5 password #Voir l'aide du fichier de configuration

(fichier de mot de passe), un enregistrement par ligne, et chaque ligne a ce format :

account :password:UID:GID:GECOS:directory:shell
(Compte : Mot de passe : ID utilisateur : ID de groupe : Informations générales : Répertoire hôte : shell) La description du champ

est la suivante :

compte Le nom de l'utilisateur dans le système. Il ne peut pas contenir de majuscules.

mot de passe Le mot de passe crypté de l'utilisateur, ou un astérisque.

Numéro d'identification de l'utilisateur UID.

L'ID de groupe principal des utilisateurs du GID.

GECOS Ce champ est facultatif et est généralement configuré dans le but de stocker des informations. Généralement, il contient le nom complet de l'utilisateur. Répertoire


Le répertoire $HOME de l'utilisateur

Le programme à exécuter lors de la connexion (s'il est vide, utilisez /bin/sh s'il est défini pour. exécution (programme) inexistante, l'utilisateur ne peut pas se connecter via login(1).)


1.1.1 Classification des utilisateurs

UID=0 est un super utilisateur
UID=500 ~ 60000 est un utilisateur ordinaire
UID=1~499 Il s'agit d'un pseudo-utilisateur (lié aux services du système et du programme)


Fichier 1.2 /etc/shadow

root:# 21312sd$44:wd323%cds:14945:0:99999:7:::

Nom d'utilisateur : Mot de passe crypté : Heure de la dernière modification : Intervalle de temps minimum : Intervalle de temps maximum : Temps d'avertissement : Temps d'inactivité du compte : Heure d'expiration :

Fichier 1.3 /etc/group

vim /etc/group


sudo:x:27:web,yanghuang,zhoumin,duyp,taofh,luanqq

nom_groupe:mot de passe:GID:liste_utilisateurs
(nom du groupe:mot de passe du groupe:ID du groupe:membre du groupe)



Commandes communes :

Ajouter un utilisateur : useradd [-ugGdsce] nom d'utilisateur

useradd -g webadmin -G root,web -c 'test suer' bob
-u UID
-g GID du groupe d'utilisateurs par défaut
-G spécifie que l'utilisateur appartient à plusieurs groupes
-d répertoire hôte
-s analyseur de commandes Shell
-c informations de description
-e spécifie le délai d'expiration de l'utilisateur

paramètres Mot de passe : PASSWD nom d'utilisateur

Modifier les informations de l'utilisateur :
Modifier le nom d'utilisateur : usermod -l nouveau nom d'utilisateur ancien nom d'utilisateur
Ajouter un groupe d'utilisateurs : usermod -g sys bob_fu

Supprimer un utilisateur : userdel [-r] nom d'utilisateur (-r supprime le répertoire personnel de l'utilisateur)

Définir un mot de passe pour le groupe : gpasswd nom du groupe
gpasswd [-adArR] nom d'utilisateur nom du groupe
- a Ajouter un utilisateur à un groupe
-d Supprimer l'utilisateur du groupe
-A Définir l'administrateur du groupe d'utilisateurs
-r Supprimer le mot de passe du groupe d'utilisateurs
-R Empêcher l'utilisateur de passer au regroupement

Par exemple :
gpasswd webadmin
gpasswd -a bob_fu webadmin
gpasswd -A bob_fu webadmin
gpasswd -r webadmin

Verrouiller un utilisateur : passwd -l jack /usermod -L jack
Déverrouiller un utilisateur : passwd -uf jack /usermod -U jack

Changer de groupe : newgrp webadmin
Afficher le groupe : groups lisi

Ajouter un group : groupadd [-g GID] Nom du groupe (voir : grep webadmin /etc/group)

Supprimer le groupe : groupdel webadmin

Renommer le groupe : groupmod -n Nouveau nom Ancien nom


3. Autres commandes :

pwck Détecter le fichier /etc/passwd (fichier de verrouillage)
vipw Modifier la vue du fichier /etc/passwd (fichier de verrouillage)
id Afficher l'identifiant de l'utilisateur et les informations du groupe
finger Afficher les détails de l'utilisateur
su Changer d'utilisateur (su - nom d'utilisateur)
passwd -S Afficher l'état du mot de passe de l'utilisateur
qui, w Afficher les informations actuelles de l'utilisateur Denghu
grpck Fichier de configuration du groupe d'utilisateurs Détecter
vigr Modifier le fichier /etc/group (fichier de verrouillage)
chage [-lmM] Définir le mot de passe (disponible sous LINUX)
-l Afficher les paramètres du mot de passe utilisateur chage -l jack
-m Modification du mot de passe Le nombre minimum de jours
-M Le nombre maximum de jours pour la modification du mot de passe
-d La date à laquelle le mot de passe a été modifié pour la dernière fois
-I Le nombre de jours pour déterminer le compte après l'expiration du mot de passe
-E Set la date d'expiration du mot de passe, si elle est 0, indiquant que le mot de passe expirera immédiatement, si elle est -1, il n'expirera jamais
-W Définit le nombre de jours pour démarrer l'avertissement avant l'expiration du mot de passe

4. Cas : Autoriser le répertoire safeware pour jack et mary Avec les autorisations en écriture

root crée un répertoire :
mkdir /software

Ajouter deux utilisateurs :
useradd jack
useradd mary

Définir le mot de passe :
password jack
password mary

Ajouter un groupe
groupadd softadm

Ajouter un utilisateur au groupe
usermod -G softadm jack
gpasswd -a mary softadm

Afficher les membres du groupe :
grep softadm /etc/group

Autoriser le groupe racine du répertoire au groupe softadm
chgrp softadm ./software

pour ajouter une autorisation d'écriture de répertoire au groupe
chmod g+w ./software

Extension 5. (Série RedHead)

5.1 Ajouter des utilisateurs par lots

f35d6e602fd7d0f0edfa6f7d103c1b57 La commande newusers importe le fichier d'informations utilisateur
Par exemple, user.info a le contenu suivant
test01 ::10001:503::/home/test01:/bin/bash
test02::10002:503:: /home/test02:/bin/bash
test03::10003:503::/home/ test03:/bin/bash
test04::10004:503::/home/test04:/bin/bash
test05::10005:503::/home/test05:/bin/bash
test06 ::10006:503::/home/test06:/bin/bash

newusers e4890b85cc17e02051b846a9386ca263 🎜>pwunconv

5bdf4c78156c7953567bb5a0aef2fc53 La commande chpasswd importe le mot de passe

Par exemple, le contenu de pass.info est le suivant
test01:admin+01
test02 : admin+02
test03:admin+03
test04:admin+04
test05:admin+05
test06:admin+06

chpasswd d509d43ca4bca1d361280d7ecd228d2c La commande pwconv écrit le mot de passe dans le fichier fantôme

pwconv

Solution d'optimisation : écrire un script


5.2 Restreindre le su de l'utilisateur à root
#!/bin/bash
#add-some-users.sh
#The script is add some users to a new group.

echo "Welcome to the add some users!"
echo -n "Please input the new group(example : mygroup) : "

read  my_new_group  
groupadd $my_new_group

echo -n "Add the $my_new_group group is successful!"
echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"
echo "Then add some users to the $my_new_group group!"

echo -n "Please input the username(example: student) : "
read new_user
echo -n "Please input the username(begin_id)(example: 1 ) : "
read begin_id
echo -n "Please input the username(end_id)(example: 10 ) : "
read end_id

echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"

for ((i=$begin_id;i<=$end_id;i++))
do

#add the new_user to the my_new_group,and no add new_user&#39;s group

useradd -n -g $my_new_group $new_user$i

#delete the new_user password

passwd -d $new_user$i

chage -d 0 $new_user$i     //

done

echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"

groupadd sugroup

chmod 4550 /bin/su

chgrp sugroup /bin.su

ls -l / Une fois bin/su
défini, seuls les utilisateurs dans le groupe sugroup peut utiliser su pour changer de racine
sueradd bob
passwd bob
usermod -G sugroup bob


5.3 Utiliser sudo remplace su

configuration sudo fichier /etc/sudoers

(administrateur) modifier le fichier de configuration commande :
visudo
Format : nom d'utilisateur (nom du groupe) adresse d'hôte (Nom d'hôte) = commande (chemin absolu)

Par exemple :
Autorisation utilisateur : bob 192.186.9.3=/usr/sbin/useradd,/usr/sbin/userdel
Autorisation de groupe : %webadmin host1 =/bin/vim /etc/httpd/conf/ httpd.conf


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn