Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/06/2008, à 20:33

zyrius

ajout d utilisateur

bonjour j ai un petit problème sur le script big_smile:D que je n arrive pas a resoudre roll
quand je viens a exécuter le script il me dit

line 26: syntaxe error: unexpected end of file

voici le code

cat persons | while true
do
read ligne
if [ "$ligne" == "" ]
then
    echo "fin du fichier"
    break
fi
set -- $ligne
login=$1
pass=$2

if [ -d "/home/$1" ]
then
    echo "le compte $1 existe déjà"
else
    echo "création du compte $login"
    useradd -m $login -G $1 -s /bin/bash
    echo $login:$pass | chpasswd
    (echo $pass ; echo $pass) | smbpasswd -s -a $login
    chown $login:$groupe /home/$login
    chmod 711 /home/$login
    chown -R $login:$login /home/$login
 
done
echo "fin du script"

merci de votre aide

#2 Le 10/06/2008, à 20:53

in_vino_veritas

Re : ajout d utilisateur

manque un fi

   chown -R $login:$login /home/$login
fi <-- ICI
done

Dernière modification par in_vino_veritas (Le 10/06/2008, à 20:54)


XPS M1530: T9300/4Go/200Go-7200tpm/8600M GT/Vista

Hors ligne

#3 Le 10/06/2008, à 21:06

zyrius

Re : ajout d utilisateur

j ai encore la meme erreur

#4 Le 10/06/2008, à 21:09

in_vino_veritas

Re : ajout d utilisateur

si la variable group n'est pas définie, la ligne

chown $login:$groupe /home/$login

devient

chown $login: /home/$login

XPS M1530: T9300/4Go/200Go-7200tpm/8600M GT/Vista

Hors ligne

#5 Le 10/06/2008, à 21:11

in_vino_veritas

Re : ajout d utilisateur

in_vino_veritas a écrit :

si la variable group n'est pas définie, la ligne

chown $login:$groupe /home/$login

devient

chown $login: /home/$login

[edit]nan c'est pas ça


XPS M1530: T9300/4Go/200Go-7200tpm/8600M GT/Vista

Hors ligne

#6 Le 10/06/2008, à 21:25

in_vino_veritas

Re : ajout d utilisateur

Bon, l'erreur est quelque part dans ces lignes:

    useradd -m $login -G $1 -s /bin/bash
    echo $login:$pass | chpasswd
    (echo $pass ; echo $pass) | smbpasswd -s -a $login
    chown $login:$groupe /home/$login
    chmod 711 /home/$login
    chown -R $login:$login /home/$login

Le reste est OK. Sinon, je ne connaissais pas la commande set Merci


XPS M1530: T9300/4Go/200Go-7200tpm/8600M GT/Vista

Hors ligne

#7 Le 11/06/2008, à 08:45

zyrius

Re : ajout d utilisateur

bonjour

j ai un derniere petit probleme que jen arrive pas a resoudre  j essaye de faire fonctionner le script mais quand je viens a l appeler sa me dit.

[i]creation du compte olivier
useradd: option invalide -- a
Usage: useradd [options] LOGIN

Options:
  -b, --base-dir BASE_DIR       base directory for the new user account
                                home directory
  -c, --comment COMMENT         set the GECOS field for the new user account
  -d, --home-dir HOME_DIR       home directory for the new user account
  -D, --defaults                print or save modified default useradd
                                configuration
  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -g, --gid GROUP               force use GROUP for the new user account
  -G, --groups GROUPS           list of supplementary groups for the new
                                user account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           specify an alternative skel directory
  -K, --key KEY=VALUE           overrides /etc/login.defs defaults
  -m, --create-home             create home directory for the new user
                                account
  -o, --non-unique              allow create user with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       use encrypted password for the new user
                                account
  -r, --system                  create a system account
  -s, --shell SHELL             the login shell for the new user account
  -u, --uid UID                 force use the UID for the new user account

chpasswd : ligne 1 : utilisateur olivier inconnu
chpasswd : erreur détectée ; modifications ignorées
New SMB password:
[/i]

le corps du script
[

I]
#!/bin/sh
cat persons | while true
do
read ligne
if [ "$ligne" == "" ]
then
    echo "fin du fichier"
    break
fi
set -- $ligne
login=$1
pass=$2

if [ -d "/etc/samba/$1" ];then

    echo "le compte $1 exisetdeja"
else


    echo "creation du compte $login"
    useradd -a  $login -G $1 -s /etc/samba
    echo $login:$pass | chpasswd
    (echo $pass ; echo $pass) | smbpasswd  -a $login
    chown $login:$groupe /etc/samba/smbpasswd
     chmod 711 /etc/samba/smbpasswd
    chown -R $login:$login /etc/samba/smbpasswd

fi

done
echo "fin du script"[/i]

merci de votre aide a tous !!!

#8 Le 11/06/2008, à 10:27

Totor

Re : ajout d utilisateur

useradd: option invalide -- a
Usage: useradd [options] LOGIN

ben à première vu, l'option -a n'existe pas pour useradd (donc, tu enlèves)! ce qui semble logique puisque useradd a pour objectif de créer un user.
et puis, $login est à placer en dernier paramètre.

Dernière modification par Totor (Le 11/06/2008, à 10:27)


-- Lucid Lynx --

Hors ligne

#9 Le 11/06/2008, à 10:31

wblitz

Re : ajout d utilisateur

useradd -a  $login -G $1 -s /etc/samba

devient :

useradd -G $1 -s /le/shell/qui/va/bien $login

il ne faut pas mettre /etc/samba comme shell. mets /usr/sbin/nologin si tu ne veux pas que l'utilisateur puisse se connecter par exemple.


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#10 Le 11/06/2008, à 16:37

zyrius

Re : ajout d utilisateur

je comprend pas tres bien la o niveau du shell que je dois mettre "desoler je debute en shell"

dans /etc/samba j ai un fichier qui s apple utilisateur  ou il y a tout les  utilisateur de samba avec les machines comment je peux faire pour k il enregistre dans le fichier utilisateur.

encore merci a vous tous

#11 Le 12/06/2008, à 08:34

wblitz

Re : ajout d utilisateur

en fait, tu veux que ton script crée l'utilisateur et l'ajoute aux utilisateurs samba déjà existant ? c'est bien ça ?


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#12 Le 12/06/2008, à 09:37

zyrius

Re : ajout d utilisateur

oui tt a fais wblitz   tu voie comment faire toi ??

#13 Le 12/06/2008, à 10:07

wblitz

Re : ajout d utilisateur

modifie la partie de ton script comme suit :

    echo "creation du compte $login"
    useradd -a  $login -G $1 -s /usr/sbin/nologin
    echo $login:$pass | chpasswd
    echo "creation du compte samba $login"
    (echo $pass ; echo $pass) | smbpasswd  -a -s  $login

"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#14 Le 12/06/2008, à 10:33

zyrius

Re : ajout d utilisateur

je ne pe pas mettre -a ici

useradd -a  $login -G $1 -s /usr/sbin/nologin

voici l erreur

useradd: option invalide -- a
Usage: useradd [options] LOGIN

Options:
  -b, --base-dir BASE_DIR       base directory for the new user account
                                home directory
  -c, --comment COMMENT         set the GECOS field for the new user account
  -d, --home-dir HOME_DIR       home directory for the new user account
  -D, --defaults                print or save modified default useradd
                                configuration
  -e, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -f, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -g, --gid GROUP               force use GROUP for the new user account
  -G, --groups GROUPS           list of supplementary groups for the new
                                user account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           specify an alternative skel directory
  -K, --key KEY=VALUE           overrides /etc/login.defs defaults
  -m, --create-home             create home directory for the new user
                                account
  -o, --non-unique              allow create user with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       use encrypted password for the new user
                                account
  -r, --system                  create a system account
  -s, --shell SHELL             the login shell for the new user account
  -u, --uid UID                 force use the UID for the new user account

chpasswd : ligne 1 : utilisateur florian inconnu
chpasswd : erreur détectée ; modifications ignorées
creation du compte samba florian
Failed to modify password entry for user florian
fin du fichier
fin du script

#15 Le 12/06/2008, à 10:33

zyrius

Re : ajout d utilisateur

j avais oublier merci de ton aide

#16 Le 12/06/2008, à 10:39

wblitz

Re : ajout d utilisateur

oups... j'ai pas bien relu wink corrige comme suit :

    echo "creation du compte $login"
    useradd -g $login -s /usr/sbin/nologin $login
    echo $login:$pass | chpasswd
    echo "creation du compte samba $login"
    (echo $pass ; echo $pass) | smbpasswd  -a -s  $login

"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#17 Le 12/06/2008, à 10:47

zyriusœ

Re : ajout d utilisateur

j ai essayer aussi mais il ne veut pas mad

voila ce qu il dit

creation du compte florian
useradd : groupe florian inconnu
creation du compte samba florian
New SMB password:

voici le code modifier
j ai enlever le -s

    echo " "
    echo "creation du compte $login"
    useradd -g  $login -G $1 -s /usr/sbin/$login
#    echo $login:$pass | chpasswd
    echo "creation du compte samba $login"
    (echo $pass ; echo $pass) | smbpasswd  -a  $login

#18 Le 12/06/2008, à 10:56

wblitz

Re : ajout d utilisateur

    echo "creation du compte $login"
    useradd -s /usr/sbin/nologin $login
    echo $login:$pass | chpasswd
    echo "creation du compte samba $login"
    (echo $pass ; echo $pass) | smbpasswd  -a -s  $login

laisse le "-s" pour smbpasswd... il n'est pas là pour décorer...


"Un optimiste, c'est un homme qui plante deux glands et qui s'achète un hamac" - Jean de Lattre de Tassigny
Pensez à mettre [RÉSOLU] dans le sujet de vos posts une fois qu'ils le sont...
quelques docs

Hors ligne

#19 Le 12/06/2008, à 11:21

zyrius

Re : ajout d utilisateur

si je laisse le -s  il ne me demande d ecrire le mdp pour samba il vas directement a fin du fichier


avec le -s

#    echo $login:$pass | chpasswd
    echo "creation du compte samba $login"
    (echo $pass ; echo $pass) | smbpasswd -a -s $login

le resultat avec le -s

creation du compte samba florian
Failed to modify password entry for user florian
fin du fichier
fin du script

le resultat sans le -s

creation du compte florian
useradd : groupe /usr/sbin/florian inconnu
creation du compte samba florian
New SMB password:

encore merci de ton aide wblitz