RHEL4U3用户修改问题

我有一个用户名为jsmith的用户,他刚刚结婚,希望她的login名反映她的新婚名:jdoe。 我明白,usermod会做出改变,但我担心,我没有想到的影响。 我想要做到以下几点:

mkdir / home / jdoe chown jdoe:jdoe / home / jdoe
usermod -l jdoe -m / home / jdoe jsmith cp -rp / home / jsmith / * / home / jdoe

用户属于一个普通的组,所以应该没有GID问题,我已经运行查找命令没有结果寻找她的GID拥有的文件。

从我的实验中:usermod命令将所有使用jsmith的UID的文件的所有权更改为jdoe。 她的GID没有文件,所以没有任何意义。 我将不得不手动进入/ etc / group,并在她所在的任何组中更改她的用户名。

基本上我的问题是:/ etc / shadow和/ etc / gshadow是否需要手动修改? 我错过了什么?

假设这是一个本地authentication的用户(听起来像是这样),你应该只能修改/ etc / passwd,/ etc / shadow和/ etc / group,然后把她旧的主目录名改为新的目录名称。

这将确保她有和以前一样的UID,所以不会出现文件许可错误。 她的旧login的唯一残余部分将存在于日志文件中。

用户名的改变不会改变uid或guid – 所以这样做应该没有问题:

mv /home/olddir /home/newdir usermod -l newname oldname usermod -d /home/newdir newname 

如果您确实需要更新用户标识,则可以使用find来完成。 例如,如果旧的UID是500,新的UID是600:

 find / -user 500 -print0 | xargs -0 chown 600