Arief Yudhawarman

Masih belajar buat blog

Membuat Account Nomail di Zimbra LDAP

leave a comment »

Jika menggunakan Zimbra LDAP + Samba PDC sebagai database user terpusat (Single Sign On) untuk autentikasi user Linux maupun Windows ada kalanya kita ingin buat account khusus yang tidak punya akses email (nomail) melainkan hanya untuk login domain dan akses ke file sharing. Contohnya account staff atau karyawan yang memang tidak mempunyai fasilitas alamat email perusahaan, account system yang hanya memerlukan login domain, atau pun account tamu seperti vendor atau konsultan yang membutuhkan akses sementara ke file server.

Pembuatan account model ini tidak bisa dilakukan melalui menu create account di zimbra admin console melainkan melalui perintah ldap.

Contoh Directory Information Tree (DIT) organisasi yang kita gunakan untuk kasus ini:

Contoh DIT

Contoh DIT



Pada contoh DIT di atas, kita akan membuat user user01 (uid=user01,ou=people,dc=domain,dc=org) dengan akses nomail. Untuk ini hanya diperlukan dua objectClass dengan attribut masing-masing sebagai berikut:

  1. posixAccount
    • loginShell
    • userPassword
    • gidNumber
    • homeDirectory
    • uid
    • uidNumber
  2. sambaSamAccount
    • sambaSID
    • sambaAcctFlags
    • sambaNTPassword

Kita akan membuat user user01 dengan struktur seperti di bawah ini:

dn: uid=user01,ou=people,dc=domain,dc=org
objectClass: organizationalPerson
objectClass: posixAccount
objectClass: sambaSamAccount
cn: User 01
sn: User 01
loginShell: /bin/false
userPassword: xxxxx
gidNumber: 12002
homeDirectory: /home/user01
uid: user01
uidNumber: 11003
sambaSID: S-1-5-21-274777822-3525078978-761206925-xxxx
sambaAcctFlags: [UX]
sambaNTPassword: xxxxx


Nilai untuk attribut userPassword dan sambaNTPassword dicari berdasarkan perintah di bawah:


userPassword=`/opt/zimbra/openldap/sbin/slappasswd -s password` sambaNTPassword=`mkntpwd -N password`


Untuk nilai ‘xxxx’ pada sambaSID dicari berdasarkan uidNumber terbesar ditambah 1 lalu dikalikan 2 dan ditambahkan 1000. Anggap uidNumber terbesar adalah 11002 maka nilai ‘xxxx’ adalah 23006 dan sambaSID menjadi S-1-5-21-274777822-3525078978-761206925-23006.

Berikut ini entry lengkap dalam format ldif untuk user user01 yang akan dimasukkan ke Zimbra LDAP dengan menggunakan perintah ldapadd. Simpan entry ini sebagai file user01.ldif.

dn: uid=user01,ou=people,dc=domain,dc=org
objectClass: organizationalPerson
objectClass: posixAccount
objectClass: sambaSamAccount
cn: User 01
sn: User 01
loginShell: /bin/false
userPassword: {SSHA}EUoUdg+U1B2QqKV5GnZTkvyjy8RcPdFe
gidNumber: 12002
homeDirectory: /home/user01
uid: user01
uidNumber: 11003
sambaSID: S-1-5-21-274777822-3525078978-761206925-23006
sambaAcctFlags: [UX]
sambaNTPassword: 8846F7EAEE8FB117AD06BDD830B7586C


Kemudian jalankan perintah di bawah sebagai user zimbra untuk menambahkan entry user01.ldif ke Zimbra LDAP.


PASSLDAP=`zmlocalconfig -s ldap_root_password | awk '{print $3}'` ldapadd -v -h `zmhostname` -x -w $PASSLDAP -c -D "cn=config" -f user01.ldif


Jika perintah di atas berhasil maka akan muncul:

adding new entry "uid=user01,ou=people,dc=domain,dc=org"


Kemudian lakukan test login ke POP dan IMAP menggunakan account user01.

$ telnet 0 110
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
+OK mail.domain.org Zimbra POP3 server ready
user user01
+OK hello user01, please enter your password
pass password
-ERR invalid username/password
quit
+OK mail.domain.org Zimbra POP3 server closing connection
Connection closed by foreign host.

$ telnet 0 143
Trying 0.0.0.0...
Connected to 0.
Escape character is '^]'.
* OK mail.domain.org Zimbra IMAP4rev1 server ready
a001 login user01 password
a001 NO LOGIN failed
a002 logout
* BYE mail.domain.org Zimbra IMAP4rev1 server closing connection
a002 OK LOGOUT completed
Connection closed by foreign host. 


Terlihat akses ke service POP3 dan IMAP tertutup untuk account user01.

Sekarang coba lakukan tes koneksi ke file sharing. Untuk keperluan ini kita buat home direktori untuk user01.

[root@server ~]# mkdir /home/user01
[root@server ~]# chown -R user01. /home/user01


Akses ke share home directory user01 menggunakan tool smbclient.

[bob@server ~]$ smbclient //192.168.87.99/user01 -U user01
Enter user01's password: 
Domain=[DOMAIN] OS=[Unix] Server=[Samba 3.6.9-168.el6_5]
smb: \> pwd
Current directory is \\192.168.87.99\user01\
smb: \> dir
  .                                   D        0  Wed Nov 26 11:39:29 2014
  ..                                  D        0  Wed Nov 26 11:39:29 2014

		50321 blocks of size 1048576. 46294 blocks available
smb: \> quit


Untuk penghapusan account nomail gunakan perintah ldapdelete.


PASSLDAP=`zmlocalconfig -s ldap_root_password | awk '{print $3}'`
PREFIX=”ou=people,dc=domain,dc=org”
ldapdelete -x -v -h `zmhostname` -D "cn=config" -w $PASSLDAP "uid=user01,$PREFIX"


Jika berhasil maka akan ditampilkan pesan:

ldap_initialize( ldap://mail.domain.org )
deleting entry "uid=user01,ou=people,dc=domain,dc=org”

Written by awarmanf

January 6, 2015 at 2:22 am

Posted in Uncategorized

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: