Useradd et .profile

Bonjour,

J'ai cree un nouvel usager avec useradd. (Ex : candy)

dans le repertoire /usr/candy il y a un .profile qui devrait etre execute afin de faire apparaitre un menu d'application mais il ne s'execute pas.. l'usager arrive au prompt.. que dois-je faire pour que lors du logon le .profile s'execute automatiquement.

merci
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    Le mettre dans /home/candy/ plutôt non ?
    1. Voici le fichier /etc/default/accounts

      root->more /etc/default/accounts
      ACCOUNT_DEFAULTS:
      LOGIN_GROUP=group
      OTHER_GROUPS=group
      SHELL=sh
      HOME_DIR=/usr
      HOME_MODE=755
      USER_TYPE=individual
      MIN_ADMIN_UID=200
      MAX_ADMIN_UID=60000
      MIN_SUGGEST_UID=200
      MAX_SUGGEST_UID=60000
      USER_DISTRIBUTED=0
      ASU_USER=0
      NICE=20
      MIN_ADMIN_GID=100
      MAX_ADMIN_GID=60000
      MIN_SUGGEST_GID=100
      MAX_SUGGEST_GID=60000
      MIN_USER_NAME=3
      MAX_USER_NAME=8
      MIN_GROUP_NAME=3
      MAX_GROUP_NAME=8
      GROUP_DISTRIBUTED=0

      Voici le repertoire de mon nouvel usager :

      /usr/candy
      root->ll
      total 20
      -rw-r--r-- 1 root sys 107 Jan 26 10:54 .cshrc
      -r-------- 1 root sys 0 Jan 26 10:54 .lastlogin
      -rw-r--r-- 1 root sys 82 Jan 26 10:54 .login
      -rw-r--r-- 1 root sys 1 Jan 26 10:54 .logout
      -rw------- 1 root sys 754 Jan 26 10:56 .profile
      -rwxrwxrwx 1 root sys 1376 Jan 26 10:53 mcba.menu

      Pour le creer j'ai utilise la commande :

      useradd -u 317 candy

      Dois-je preciser a quelque part qu'il faut executer le .profile

      Lorsque je connect avec le user candy, je me retrouve au prompt : /usr/candy mais je m'attends que le .profile soit execute pour qu'un menu lui apparaisse..
  2. Modérateur
    C'est quoi le shell de connexion de tes $USER ? sh ou csh ? Les deux n'ayant pas le même fichier de démarrage associé.
    .profile pour sh
    .login pour csh
    1. Dans le fichier /etc/default/account je retrouve les infos suivantes :

      SHELL=sh
      HOME_DIR=/usr

      Donc lorsque tu ajoutes un usager via la commande useradd par defaut il utilise ces infos.

      Note : la creation des fichiers (.profile etc ) du user (usr/candy) ont ete copie a l'aide de la commande 'cp'.

      les fichiers proviennent d'un autre user ( usr/alain) est-ce que j'ai oublie de faire quelques choses apres les copies..
    2. Modérateur
      @royinfoDonc lorsque tu ajoutes un usager via la commande useradd par defaut il utilise ces infos.
      Oui je me doute mais comme dans le listing du /home de ton ÛSER on retrouve :
      rw-r--r-- 1 root sys 107 Jan 26 10:54 .cshrc
      -r-------- 1 root sys 0 Jan 26 10:54 .lastlogin
      -rw-r--r-- 1 root sys 82 Jan 26 10:54 .login
      -rw-r--r-- 1 root sys 1 Jan 26 10:54 .logout
      -rw------- 1 root sys 754 Jan 26 10:56 .profile
      -rwxrwxrwx 1 root sys 1376 Jan 26 10:53 mcba.menu 
      je me demandais donc ce qu'il fallait en conclure ;-\

      Au fait il contient quoi ton fichier .profile ?

      On peut avoir la sortie de :
      grep 'candy' /etc/passwd
      Au fait sur quel système tu es ? et/ou quelle distrib ?
    3. @jipicyLe fichier /etc/passwd contient :

      candy:x:317:50::/usr/candy:/bin/sh

      le fichier .profile de /usr/candy/ contient :

      root->more .profile
      stty -parity erase kill
      PATH=:/bin:/usr/bin
      MAIL=/usr/spool/mail/candy
      MAILCHECK=600
      HOME=/usr/candy
      export PATH HOME MAIL
      umask 0000
      trap '' 2 3
      tput clear
      KEYB=ascii
      COMPANY=Pca
      trap '' 2 3 15
      # @(#) mcba - shell script to invoke the MCBA Master Menu Release 4.0
      :
      clear
      echo "... PLEASE WAIT\c"
      PATH=/FILES:$PATH
      TERMCAP=/etc/a_termcap;export TERMCAP
      A_TERMCAP=/etc/a_termcap;export A_TERMCAP
      A_CONFIG=/FILES/NCR/object/cblconfig
      export PATH A_CONFIG
      stty intr "^-" ignbrk
      OLDTERM=$TERM

      if [ $TERM = "wy60" -o $TERM = "wyse60" ]
      then stty erase "^B"
      fi

      /usr/$LOGNAME/mcba.menu

      if [ $TERM = "wy60" -o $TERM = "wyse60" ]
      then stty erase "^H"
      cat /u/PCA/bin/BSOFF
      fi

      TERM=$OLDTERM
      export TERM

      stty intr "^?" -ignbrk
      tput clear
      kill -9 0
      root->
  3. Modérateur
    J'ai oublié :
    readlink -f /bin/sh
    ,-))
    1. $ readlink -f /bin/sh
      readlink: not found

      J'ai fait un logon avec candy. Au prompt j'ai fait un env et voici les variables d'environnements :

      /usr/candy
      $ env
      ANZIO=ANZIOLITE
      COLUMNS=80
      HOME=/usr/candy
      HUSHLOGIN=FALSE
      HZ=100
      LINES=25
      LOGNAME=candy
      MAIL=/usr/spool/mail/candy
      PATH=/bin:/usr/bin
      SHELL=/bin/sh
      TERM=ansi
      TZ=EST5EDT
    2. Modérateur
      @royinfoAlors si "readlink" n'est pas présent :
      ls -l /bin/sh
    3. @jipicyroot->ls -l /bin/sh
      lrwxrwxrwx 1 root sys 30 Feb 2 2007 /bin/sh -> /opt/K/SCO/Unix
      /5.0.4Eb/bin/sh