> Hello. > > We have to migrate an old Centos 6 to Centos 8. C6 has UID/GID starting > at number 500. > I the Users should possibily keep the existing UID/GID as on the old > system. > > I changed on the Centos 8 system, in /etc/login.defs, the lines > UID_MIN/SYS_UID_MAX and GID_MIN/SYS_GID_MAX: > > # > # Min/max values for automatic uid selection in useradd > # > UID_MIN 500 > UID_MAX 60000 > # System accounts > SYS_UID_MIN 201 > SYS_UID_MAX 499 > > # > # Min/max values for automatic gid selection in groupadd > # > GID_MIN 500 > GID_MAX 60000 > # System accounts > SYS_GID_MIN 201 > SYS_GID_MAX 499 > > and extracted all users and groups with UID/GID greater than 499 from > the old system and inserted in the corresponding files > (passwd/groups/shadows) on the new system. > > So wanted to ask if this is a valid thing to do? Especially regarding > security of the new system. Can it create problems in the future > (updates etc.)? > It is a simple LAMP server. I was in a similar situation but on a quite large application server with hundreds of users. I quickly found that I don't want to fiddle with UID/GID settings so I decided to change all users on the CentOS 6 host before migrating any data. I've created a script which uses `chown' to recursively change UIDs and GIDs. I don't remember exactly but I think I made it run for every user in parallel and it finished quite fast considering the fact that it had to traverse the whole storage consisting of millions of files. I could then later just rsync everything to the new box without ant UID/GID conversion. See below for the script `chuidgid'. Regards, Simon ----%<----- #!/bin/bash if (( $# < 4 )); then echo "Usage: $0 <username> <new uid> <new gid | \"\" = uid> <dir> [<dir>...]" echo "Example: $0 user1 1000 \"\" /tmp /etc /usr /opt /var /home" echo echo "Important: this needs to run before changing any uid/gid!" exit 1 fi USR="$1" NEW_UID="$2" NEW_GID="$3" shift 3 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