collision_gid_serveur_client.sh
1 |
#!/bin/bash |
---|---|
2 |
typeset -i NEXTNUM=100 |
3 |
|
4 |
if [ ! -e /usr/bin/getent.ldap ]; then |
5 |
echo "ERREUR: la commande /usr/bin/getent.ldap n'est pas installée" |
6 |
echo "apt-get install nslcd-utils ..." |
7 |
fi |
8 |
|
9 |
getent.ldap group | cut -d ":" -f3 | sort -u > /tmp/gid_serveur |
10 |
cat /etc/group | cut -d ':' -f3 > /tmp/locaux |
11 |
|
12 |
function getNext() { |
13 |
NEXTNUM+=1 |
14 |
TESTDISPO=`grep -w "${NEXTNUM}" /etc/group /tmp/gid_serveur` |
15 |
if [ -n "${TESTDISPO}" ]; then |
16 |
getNext |
17 |
fi |
18 |
} |
19 |
|
20 |
for gid in `cat /tmp/gid_serveur` |
21 |
do |
22 |
TEST=`grep -w ${gid} /tmp/locaux` |
23 |
if [ -n "${TEST}" ]; then |
24 |
NOM=`grep ":${gid}:" /etc/group | cut -d ":" -f1` |
25 |
echo "Collision pour $gid ... ${NOM}" |
26 |
getNext |
27 |
echo " on change le GID en ${NEXTNUM}" |
28 |
groupmod -g ${NEXTNUM} ${NOM} |
29 |
fi |
30 |
done |
31 |
|