POSIX Attributes Management
That section describes how to manage the posix attributes of the users and groups in the Active Directory.
Ldif File
For the section specified “ldif file”, you have to create a file, fill
the variables and execute ldapmodify
on the Active Directory. Here is a
simple way to do that:
ldif_file=$(mktemp) cat >"${ldif_file}" <<EOF ### YOUR LDIF HERE ### EOF # In case of LDAPS, please uncomment the following line # LDAPTLS_CACERT="${CCME_CONF}/${CCME_AD_URI}.crt" \ ldapmodify -H "${CCME_AD_PROTOCOL}://${CCME_AD_URI}" -w ${CCME_AD_ADMIN_PASSWORD} -D "${CCME_AD_ADMIN_CN}" -f "${ldif_file}"
Users management
To enable a user in POSIX environment, follow these steps:
Activate the user
Add a
uidNumber
to the userAdd a
gidNumber
to the user
Activate a new user (ldif file)
dn: CN=${USER_NAME},OU=Users,OU=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC2}
changetype: modify
replace: userAccountControl
userAccountControl: 512
Add or replace the uidNumber of a user (ldif file)
# Add
dn: CN=${USER_NAME},OU=Users,OU=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC2}
changetype: modify
add: uidNumber
uidNumber: ${UID_NUMBER}
# Replace
dn: CN=${USER_NAME},OU=Users,OU=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC2}
changetype: modify
add: uidNumber
uidNumber: ${UID_NUMBER}
Add or replace the gidNumber of a user (ldif file)
# Add
dn: CN=${USER_NAME},OU=Users,OU=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC2}
changetype: modify
add: gidNumber
gidNumber: ${GID_NUMBER}
# Replace
dn: CN=${USER_NAME},OU=Users,OU=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC2}
changetype: modify
replace: gidNumber
gidNumber: ${GID_NUMBER}
Add or replace the sshPublicKey of a user (ldif file)
# Add
dn: CN=${USER_NAME},OU=Users,OU=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC2}
changetype: modify
add: sshPublicKey
sshPublicKey: ${sshPublicKey}
# Replace
dn: CN=${USER_NAME},OU=Users,OU=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC2}
changetype: modify
replace: sshPublicKey
sshPublicKey: ${sshPublicKey}
Groups management
To enable a group in POSIX environment, you need to bind gidNumber
to your groups.
Modify the gidNumber of a group (ldif file)
# Add
dn: CN={{ GROUP_NAME }},OU=Users,OU=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC2}
changetype: modify
add: gidNumber
gidNumber: ${GID_NUMBER}
# Replace
dn: CN={{ GROUP_NAME }},OU=Users,OU=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC1},DC=${CCME_AD_DIR_NAME_DC2}
changetype: modify
replace: gidNumber
gidNumber: ${GID_NUMBER}
List unix IDs in the ActiveDirectory
List used uidNumber
ldapsearch -H "${CCME_AD_PROTOCOL}://${CCME_AD_URI}" -w ${CCME_AD_ADMIN_PASSWORD} -D "${CCME_AD_ADMIN_CN}" -b "dc=${CCME_AD_DIR_NAME_DC1},dc=${CCME_AD_DIR_NAME_DC2}" "(&(objectClass=user)(uidNumber=*))" | grep uidNumber
List used gidNumber
ldapsearch -H "${CCME_AD_PROTOCOL}://${CCME_AD_URI}" -w ${CCME_AD_ADMIN_PASSWORD} -D "${CCME_AD_ADMIN_CN}" -b "dc=${CCME_AD_DIR_NAME_DC1},dc=${CCME_AD_DIR_NAME_DC2}" "(&(objectClass=user)(gidNumber=*))" | grep gidNumber