Benutzer anlegen Kommandozeilenschnittstelle

german

#1

Ich möchte einige Benutzern mit Kommandozeilenschnittstelle anlegen. Ich habe dieses Skript
benutzt und es hat funktioniert:

PositionLDAP="dc=test,dc=solufonds,dc=intranet"
MotDePasse="MotDePasseZut"
ShellAUtiliser="/bin/sh"
#
#Utilisateur et groupe testUser
#
univention-directory-manager groups/group remove --dn "cn=testUser_primaire,cn=groups,${PositionLDAP}"

univention-directory-manager groups/group create --position "cn=groups,${PositionLDAP}"\
    --set name="testUser_primaire" --set description="Groupe primaire testUser"\
    --set gidNumber=8001

univention-directory-manager users/user remove   --dn "uid=testUser,cn=users,${PositionLDAP}"

univention-directory-manager users/user create     --position "cn=users,${PositionLDAP}" \
       --set username="testUser" --set description="testUser" \
       --set primaryGroup="cn=testUser_primaire,cn=groups,${PositionLDAP}" \
       --set uidNumber="8001" --set password="${MotDePasse}" --set lastname="N/A" \
       --set firstname="N/A" --set unixhome="/export/home/testUser" --set shell="${ShellAUtiliser}" \
       --set overridePWHistory=1 --set overridePWLength=1 \
       --set groups="cn=Domain Users,cn=groups,${PositionLDAP}"

Wenn ich die Kommando “su - testUser” mache, es funktioniert und der Benutzer ist “testUser” in den Verzeichnis “/export/home/testUsers”.

Aber wenn man mit ssh oder am Konsole loggen möchte, ist es unmöglich. Das können Sie in diesem Log sehen:

Script started on mar 09 jun 2015 10:43:59 CEST
root@test:~# sh -x /var/tmp/test.sh
+ PositionLDAP=dc=test,dc=solufonds,dc=intranet
+ MotDePasse=MotDePasseZut
+ ShellAUtiliser=/bin/sh
+ univention-directory-manager groups/group remove --dn cn=testUser_primaire,cn=groups,dc=test,dc=solufonds,dc=intranet
E: object not found
+ univention-directory-manager groups/group create --position cn=groups,dc=test,dc=solufonds,dc=intranet --set name=testUser_primaire --set description=Groupe primaire testUser --set gidNumber=8001
Object created: cn=testUser_primaire,cn=groups,dc=test,dc=solufonds,dc=intranet
+ univention-directory-manager users/user remove --dn uid=testUser,cn=users,dc=test,dc=solufonds,dc=intranet
E: object not found
+ univention-directory-manager users/user create --position cn=users,dc=test,dc=solufonds,dc=intranet --set username=testUser --set description=testUser --set primaryGroup=cn=testUser_primaire,cn=groups,dc=test,dc=solufonds,dc=intranet --set uidNumber=8001 --set password=MotDePasseZut --set lastname=N/A --set firstname=N/A --set unixhome=/export/home/testUser --set shell=/bin/sh --set overridePWHistory=1 --set overridePWLength=1 --set groups=cn=Domain Users,cn=groups,dc=test,dc=solufonds,dc=intranet
Object created: uid=testUser,cn=users,dc=test,dc=solufonds,dc=intranet
root@test:~# su - testUser
$ pwd
/export/home/testUser
$ exit^H ^Ht
root@test:~# date
mardi 9 juin 2015, 10:47:01 (UTC+0200)
root@test:~# ssh -l soluconf localhost
Password: 
Password: 

root@test:~# exit
exit

Script done on mar 09 jun 2015 10:47:54 CEST

Das Datei “/var/log/auth.log” ist:

Jun  9 10:42:01 test su[7179]: Successful su for testUser by root
Jun  9 10:42:01 test su[7179]: + /dev/pts/3 root:testUser
Jun  9 10:42:01 test su[7179]: pam_unix(su:session): session opened for user testUser by (uid=0)
Jun  9 10:42:15 test su[7179]: pam_unix(su:session): session closed for user testUser
Jun  9 10:44:32 test su[7298]: Successful su for testUser by root
Jun  9 10:44:32 test su[7298]: + /dev/pts/3 root:testUser
Jun  9 10:44:32 test su[7298]: pam_unix(su:session): session opened for user testUser by (uid=0)
.
.
.
Jun  9 10:50:01 test CRON[7502]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun  9 10:50:01 test CRON[7503]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun  9 10:50:01 test CRON[7501]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun  9 10:50:01 test CRON[7502]: pam_unix(cron:session): session closed for user root
Jun  9 10:50:01 test CRON[7503]: pam_unix(cron:session): session closed for user root
Jun  9 10:50:10 test CRON[7501]: pam_unix(cron:session): session closed for user root
Jun  9 10:54:39 test sshd[7630]: pam_access(sshd:account): access denied for user `testUser' from `localhost'
Jun  9 10:54:39 test sshd[7628]: error: PAM: User account has expired for testUser from localhost
Jun  9 10:54:39 test sshd[7628]: Connection closed by ::1 [preauth]
Jun  9 10:55:01 test CRON[7631]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun  9 10:55:01 test CRON[7632]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun  9 10:55:01 test CRON[7632]: pam_unix(cron:session): session closed for user root
Jun  9 10:55:23 test login[3864]: pam_access(login:account): access denied for user `testUser' from `tty1'
Jun  9 10:55:23 test login[3864]: Permission denied
Jun  9 10:55:25 test CRON[7631]: pam_unix(cron:session): session closed for user root

Haben Sie Ideen was falsch ist?

Wenn ich einen Benutzer angelegt durch die Web Schnittstelle und diesen durch Kommandozeilenschnittstelle vergleiche, sehe
nicht viele Unterschiede. Teufel steckt often in Kleinigkeiten, möchte ich aber gern wissen wo.

Es könnte sein weil “User account has expired for testUser from localhost”. Warum ist das Account schon erlöscht sofort nach der Erschaffung?

Vielen Danken für ihre HIlfe,

MfG

rhino64


#2

Hallo,

wenn ich Ihr Problem richtig verstehe, geht es darum, dass sich der neu erstellte Nutzer nicht mit ssh anmelden kann.
Das ist in UCS generell so. 8.4.4.1. Anmeldebeschränkungen für ausgewählte Benutzer.
Versucht man es trotzdem, sieht man ebenfalls “User account has expired” in auth.log.

Viele Grüße,
Dirk Ahrnke


#3

Hallo,

Vielen Danken. Es funktioniert wie in Handbuch (wenn ich den Benutzer in richtige Gruppe eigefügt habe,
die Anmeldung ist reibunglos).

Ich habe das Handbuch zweimal gelesen aber dieser Punkt nicht bemerkt.

Viele Grüsse,

rhino64