Utilisateur et groups AIX

De Avided.info
Aller à : navigation, rechercher


ASTUCE

  • le caractère "~" (tilde) peut etre utilisé pour indiquer le chemin du home d'un utilisateur.
~/toto => repersente le repertoire toto dans le home de l'utilisateur actuellement connecté.
~toto => represente le retoire home de l'utilisateur toto

Affiche tous les paramètre de l'utilisateur "username"

lsuser username

Controler que le compte utilisateur ne soit pas locked

lsuser -a unsuccessful_login_count account_locked username

liste tous les utilisateur avec leur parametres

lsuser ALL

Creer un utilisateur

mkuser id=NUM_ID pgrp='GROUP_NAME' groups='grp_secondaire1,grp_secondaire2' shell='/usr/bin/ksh' gecos="${GECOS}" loginretries='4' histsize='6' maxage='52' minage='2' minlen='8' minalpha='2' minother='2' ${USER_NAME}

Enleve tous les flag positionné sur l'utilisateur mis en parametre

pwdadm -c ${USER_NAME}

Ne pas contraindre root

- notemment utiliser pour history des mdp - voir les flag HISTSIZE & HISTEXPIRE

pwdadm -f NOCHECK root

Deverouiller un compte

  • forcer la valeur du champ unsuccessful_login_count= a la valeur 0
chsec -f /etc/security/lastlog -a "unsuccessful_login_count=0" -s 'user_name'
  • Puis indiquer la valeur false au champ account_locked
chuser account_locked=false user_name
  • Ou cette commande fais les 2
chuser "unsuccessful_login_count=0" "account_locked=false" username

permet d'attribuer un mot de passe a l'utilisateur

  • Dans la ligne suivante le mot de passe sera "motdepasse"
echo "${USER_NAME}:motdepasse" | chpasswd

enlever tous les FLAG dans /etc/security/passwd

  • pour l'utilisateur mis en parrametre.
pwdadm -c ${USER_NAME}

pour attribuer un * dans le champ mot de passe

  • la deuxiemes commande enlève le flag qui demande a l'utilisateur de modifier sont mot de passe.
echo "user:*" | chpasswd -e
pwdadm -c user
  • eleve tous les flags et indique un "*" dans le champ password du fichier /etc/security/passwd
  • A tester cela semble pas epecher l'utilisateur de ce connecter en ssh vie une clef. En faite cette commande permet de checker le fichier passwd et de regler les problème. Si elle ne trouve pas de champ "passwd" elle en ajoute un avec le caractère "*". Donc cela peut etre une astuce pour si vous exécutez cette commande a la création de l'utilisateur. Par contre si le champ passwd est deja existant meme sans valeur cette commande ne vous servira a rien.
pwdck -y ${USER_NAME}

GROUPS

liste les comptes ayant faisont partie du group indiqué

lsgroup group_name

liste tous les groupe avec leur utilisateurs

lsgroup ALL

crée un group avec l'ID idique puis incere 2 utilisateurs

mkgroup -'A' id='2000' users='user1,user2' groupe_name

Modifier la liste des utilisateurs d'un group

chgrpmem {{ -a | -m } {+-=} members} group

Exemple : ajout de l'utilisateur "user1" au group "group1":

chgrpmem -m +user1 group1

Connexion

SSH

Clef publique

  • Afin de pouvoir ce connecter en ssh, la clef public doit ce trouver dans
~/.ssh/authorized_keys
  • la clef soit etre sur une seul ligne
  • Esc-J sous Vi permet de joindre la ligne du dessous avec celle selectionner
  • Esc-$ permet de d'aller a la fin de la ligne
  • la secance suivante permet de joindre les lignes il suffit de repeter le nombre de fois suffisants
Esc-$-J-$-J
  • Chaque ligne dans ce fichier repesente une clef public elle doit commencer par indiquer le type de clef
  • elle est souvant de type RSA
ssh-rsa clef_sur_une_seul_ligne

droit pour connexion ssh vie clef

  • Afin de ce connecter en ssh, via une clef, les droit sur certaint fichier et repertoire sont verifié. Si il sont trop permissif la connection est imposible.

le repertoire home

0750 est un bon choix.
2750 est accepté
0770 est accepté
2770 est refusé.

le repertoire ~/.ssh

Exemple: /home/users/utilisateur/.ssh

0750 est un bon choix

le fichier authorized_keys

Exemple: /home/users/utilisateur/.ssh/authorized_keys

0400 est le seul choix

Exemple de script

script de creation d'ulisateur

cat create_sta.ksh

#!/bin/ksh 
typeset -l USER_NAME
USER_NAME=$1
shift
ID_NUM=$1
shift
GECOS=$*
x() {
 LIST=
 SET_A=

 for i in "$@"
 do
  if [ "$i" = "admin=true" ]
  then
   SET_A="-a"
   continue
  fi
  LIST="$LIST \"$i\""
 done
 eval mkuser $SET_A $LIST
}

x id=${ID_NUM} pgrp='p_soutien' groups='sachem' home="/home/users/${USER_NAME}" shell='/usr/bin/ksh' gecos="${GECOS}" loginretries='4' histsize='6' maxage='52' minage='2' minlen='8' minalpha='2' minother='2' ${USER_NAME}

# permet d'attribuer un mot de passe a l'utilisateur. Dans la ligne suivante le mot de passe sera "motdepasse"
echo "${USER_NAME}:motdepasse" | chpasswd

# la ligne suivante permet d'enlever tous les FLAG dans /etc/security/passwd pour l'utilisateur mis en parrametre.
pwdadm -c ${USER_NAME}

# eleve tous les flags et indique un "*" dans le champ password du fichier /etc/security/passwd
### A tester cela semble pas epecher l'utilisateur de ce connecter en ssh vie une clef 
pwdck -y ${USER_NAME}


  • Ce script prend en entré 3 argument : nom_login UID GCOS

un script permet d'utiliser le premier afin de creer un grand nombre d'utilisateur on entre les parametres utilisateur dans un fichier "user". 1 utilisateur par ligne, puis ont execute le script suivant

cat user | while read ligne
do 
 /bin/ksh ./do_create_user.ksh ${ligne}
 ALIANCE=`echo $ligne | cut -f1 -d' ' `
 if [ `grep -c ${ALIANCE} /etc/passwd` -eq 0 ]
 then 
  echo "${ALIANCE} KOKOKO"
 else 
  echo "${ALIANCE} OK"
 fi
done