>> Hi, >> >> we are upgrading some servers from C6 to C7 with a lot of user accounts >> on them (UID>=500). >> CentOS 7 has MIN_UID/MIN_GID 1000, Centos 6 has 500 in login.defs. >> >> Can I change in /etc/login.defs MIN_UID/MIN_GID to 500 for C7? So I >> could just grep the users out from passwd/shadow/group files and append >> them to the Centos7 passwd/shadow/group files. >> Can this do any damage to CentOS7 later on? Thinking about updates.... > > When I did an upgrade from CentOS 5 to 7 I found that even a standard > install of CentOS 7 already used a number of GIDs in the range of 500-999. > > In the end I decided to rearrange all users to new UIDs/GIDs and converted > all storage with a script. > > The tricky part was to find a way which doesn't take ages to convert > storage. Doing so with find.... wasn't possible for performance reasons. > > Attached script was used to convert every user. It was the fastest way I > found. The script was started in background for every user. Looks like attachments are stripped from the mail, so here is the script embedded: ----%<---- #!/bin/bash if (( $# < 3 )); then echo "Usage: $0 <username> <new uid> <dir> [<dir>...]" echo "Example: $0 user1 1000 /tmp /etc /usr /opt /var /home" exit 1 fi USR=$1 NEW_UID=$2 NEW_GID= shift 2 DIRS=$@ OLD_UID=$(id -u $USR) OLD_GID=$(id -g $USR) if [[ -z "$NEW_GID" ]]; then NEW_GID=$NEW_UID fi echo "modifying user $USR ids ${OLD_UID}:${OLD_GID} -> ${NEW_UID}:${NEW_GID} on $DIRS" # Note: usermod changes ownership of at least $HOME and /var/spool/mail/${USR} groupmod -g $NEW_GID $USR usermod -u $NEW_UID -g $USR $USR chown --changes --silent --no-dereference --preserve-root --recursive --from=:${OLD_GID} :${NEW_GID} $DIRS chown --changes --silent --no-dereference --preserve-root --recursive --from=${OLD_UID} ${NEW_UID} $DIRS ----%<---- _______________________________________________ CentOS mailing list CentOS@xxxxxxxxxx https://lists.centos.org/mailman/listinfo/centos